Ruby on rails 设计不保存已在App Controller Rails 4中消毒的参数

Ruby on rails 设计不保存已在App Controller Rails 4中消毒的参数,ruby-on-rails,devise,registration,strong-parameters,Ruby On Rails,Devise,Registration,Strong Parameters,我的注册工作正常,我有3个自定义字段:name、avatar、avatar\u cache 只有:name自定义字段给了我一个: 不允许的参数:控制台中的name 我已经清理了应用程序控制器中的强参数,并且化身/化身缓存正在正确保存。我错过什么了吗 def configure_permitted_parameters devise_parameter_sanitizer.for(:sign_up) { |u| u.permit(:name, :avatar, :avatar_cache,

我的注册工作正常,我有3个自定义字段:
name、avatar、avatar\u cache

只有
:name
自定义字段给了我一个:
不允许的参数:控制台中的name

我已经清理了应用程序控制器中的强参数,并且化身/化身缓存正在正确保存。我错过什么了吗

  def configure_permitted_parameters
  devise_parameter_sanitizer.for(:sign_up) { |u| u.permit(:name, :avatar, :avatar_cache, :email, :password, :password_confirmation) }
  end

  def configure_permitted_parameters
  devise_parameter_sanitizer.for(:account_update) { |u| u.permit(:name, :avatar, :avatar_cache, :email, :password, :current_password, :password_confirmation) }
  end

目前,您已经重新定义了方法
configure\u-allowed\u-parameters
,这就是Ruby选择最新方法定义的原因,即为
account\u-update
白名单属性的方法定义。因此,当您尝试使用自定义属性
名称
注册
时,您将收到

不允许的参数:名称
警告

由于覆盖了方法
configure\u allowed\u parameters
,Deviate不知道应该为
注册而将自定义属性列入白名单

您的
配置\u允许的\u参数
方法应该如下所示:

class ApplicationController < ActionController::Base

  before_filter :configure_permitted_parameters, if: :devise_controller?
  ## ...

  protected

  def configure_permitted_parameters
    devise_parameter_sanitizer.for(:sign_up) { |u| u.permit(:name, :avatar, :avatar_cache, :email, :password, :password_confirmation) }
    devise_parameter_sanitizer.for(:account_update) { |u| u.permit(:name, :avatar, :avatar_cache, :email, :password, :current_password, :password_confirmation) } 
  end
end
class ApplicationController
你在应用程序中遇到了相同的错误吗?@KikeIsasiVelasco为什么要重新定义
配置允许的参数
,我看到两个不同的方法定义,一个是清理
注册
参数,另一个是
帐户更新
?或者只是输入错误?您的
用户
是否具有
:name
属性?在控制台中检查它,因为一个用于更新用户帐户,另一个用于注册,这是我在几篇文章中读到的,我必须这样做@是的,它有:
参数:{“utf8”=>“✓", "真实性令牌“=>”V5ACfT1uI1Z3o2VypwXe98pcVqRDIHNz0zJF/5cF/0w=“,“用户”=>{“姓名”=>“Kike”,“电子邮件”=>”kikeisasxxi@gmail.com“,“password”=>“[FILTERED]”,“password_confirmation”=>“[FILTERED]”},“commit”=>“Crear cuenta”}未经允许的参数:名称(0.2ms)开始