在轨道设计注册方面需要帮助



嘿伙计们,我想在 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 允许除 emailpassword 以外的参数。

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

最新更新