簡體   English   中英

Rails 4:設計邀請的不允許參數

[英]Rails 4: Devise Invitable Unpermitted Parameter

我正在使用Devise Invitable gem邀請用戶,並在創建用戶之后,創建了一個user_id等於剛創建的用戶id的客戶端

class User < ActiveRecord::Base
    after_create :create_client

    def create_client
        new_client = Client.new()
        new_client.user_id = self.id
        new_client.save
    end
end

這可行,但是一旦我嘗試將location_id添加到參數中,我就會看到:

Unpermitted parameter: location_id

這是帶有location_id的新方法

def create_client
    new_client = Client.new()
    new_client.user_id = self.id
    new_client.location_id = self.location_id
    new_client.save
end

我已經閱讀了很多有關此問題的回復,但是似乎找不到真正的解決方案將此參數列入白名單。 有沒有人有一種可以在Rails 4和Devise 3.5中工作的方法

對於:invite而不是:accept_invitation將參數列入白名單至關重要。 當我將其添加到application_controller時,以下方法起作用:

def configure_permitted_parameters
    devise_parameter_sanitizer.for(:accept_invitation) << [:location_id]
    devise_parameter_sanitizer.for(:invite) << [:location_id]
end

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM