[英]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.