我正在使用ng-token-auth和devise_token_auth进行身份验证。当我尝试使用
更新用户时$auth.updateAccount
它告诉我
Unpermitted parameters: credentials, registration
Filter chain halted as :validate_account_update_params rendered or redirected
我在application_controller.rb中包含以下内容
before_action :configure_permitted_parameters, if: :devise_controller?
private
def configure_permitted_parameters
devise_parameter_sanitizer.for(:sign_up) << :name
devise_parameter_sanitizer.for(:account_update) << :name << :credentials
end
此外,凭证字段在用户模型中序列化为数组
class User < ActiveRecord::Base
serialize :credentials, Array
end
答案 0 :(得分:1)
我遇到了同样的问题,终于找到了解决方案。对我来说,问题是在孩子:validate_account_update_params
之前调用了父过滤器:configure_permitted_parameters
。这显然是至少Rails 4.2(可能在之前)的新行为。在孩子中添加这个修复它:
prepend_before_action :configure_permitted_params