Len*_*rio 3 ruby-on-rails devise ruby-on-rails-4
我正在尝试将 :name 输入字段添加到 edit.html.erb 表单中,用户在接受设计邀请后将定向到该表单。
但是,填写表格后,:名称输入字段为空(未存储在数据库中)。
发生这种情况是因为 Rails 4 使用了强参数吗?
我已经尝试解决这个问题有一段时间了,但似乎无济于事。
在此先感谢您的帮助!
小智 5
devise_invitable 的 github 存储库上有一个关于此内容的 wiki 页面
在那篇文章中,他们
Devise::InvitationsControllerupdatebefore_action来更改已清理的参数:accept_invitation 但是,我想知道是否可以(并且更简单)将以下内容放入您的ApplicationController:
class ApplicationController < ActionController::Base
#...
before_action :devise_configure_permitted_parameters, if: :devise_controller?
#...
protected
def devise_configure_permitted_parameters
# Devise 3 (deprecated in Devise 4.0 and removed in Devise 4.2)
# devise_parameter_sanitizer.for(:accept_invitation) << :name
# Devise 4
devise_parameter_sanitizer.permit(:accept_invitation, keys: [:name])
end
Run Code Online (Sandbox Code Playgroud)
我已经为设备:sign_up和:account_update操作做到了这一点,并且它在没有覆盖它们的控制器的情况下工作了。