我有一个 devise-token-auth 的注册表单。我希望用户在注册表单上也输入用户名。数据库中存在用户名列,但控制器拒绝它
Unpermitted parameter: :username
如何在设计令牌身份验证中扩展注册的允许参数?
我有一个 devise-token-auth 的注册表单。我希望用户在注册表单上也输入用户名。数据库中存在用户名列,但控制器拒绝它
Unpermitted parameter: :username
如何在设计令牌身份验证中扩展注册的允许参数?
看起来这与常规设计完全相同。一般的想法可以从这个页面找到
但具体来说,将其添加到 ApplicationController
before_action :configure_permitted_parameters, if: :devise_controller?
protected
def configure_permitted_parameters
added_attrs = [:username, :email, :password, :password_confirmation]
devise_parameter_sanitizer.permit :sign_up, keys: added_attrs
devise_parameter_sanitizer.permit :account_update, keys: added_attrs
end
您需要在控制器的操作中设置允许的参数。看看这个https://api.rubyonrails.org/classes/ActionController/Parameters.html