嘿伙计们,我想在 Devise 的帮助下注册一个新用户,但视图只包含 2 个字段,即电子邮件和密码
我也希望保存我的用户表中的名称,地址,城市等。在注册/new.html.erb 的观点中
在视图中添加它们并单击"注册"后,出现了以下错误
5 个错误禁止保存此用户:
Name can't be blank
City can't be blank
Address can't be blank
Country can't be blank
Postal code can't be blank
所以有人可以告诉我,除了电子邮件和密码之外,我该怎么做才能让 Devise 接受这些额外的 atrributes 并将它们保存在我的用户表中
在ApplicationController
中添加以下代码,让 Devise 允许除 email
和 password
以外的参数。
class ApplicationController < ActionController::Base
before_action :configure_permitted_parameters, if: :devise_controller?
protected
def configure_permitted_parameters
permitted_params = %i(name city address country postal) # returns [:name, :city, :address, :country, :postal]
devise_parameter_sanitizer.permit(:sign_up, keys: permitted_params)
devise_parameter_sanitizer.permit(:account_update, keys: permitted_params)
end
end
这样,您就可以将设备配置为允许新帐户注册和配置文件更新的其他字段。
有关更多信息,请阅读 https://github.com/plataformatec/devise#strong-parameters