Ruby on rails 利用强参数设计多模型

Ruby on rails 利用强参数设计多模型,ruby-on-rails,ruby-on-rails-4,devise,activeadmin,Ruby On Rails,Ruby On Rails 4,Devise,Activeadmin,我在注册新用户时收到消息,未经许可参数:email(通过Desive验证) 我正在使用activeadmingem进行管理(它使用designe进行管理用户),我正在使用designe进行另一个型号的管理(用户)。我已覆盖用户注册控制器,如下所示: class Users::RegistrationsController < Devise::RegistrationsController before_filter :configure_sign_up_params, only: [

我在注册新用户时收到消息,未经许可参数:email(通过Desive验证)

我正在使用activeadmingem进行管理(它使用designe进行管理用户),我正在使用designe进行另一个型号的管理(用户)。我已覆盖用户注册控制器,如下所示:

 class Users::RegistrationsController < Devise::RegistrationsController

 before_filter :configure_sign_up_params, only: [:create]
 before_filter :configure_account_update_params, only: [:update]

 ...

 protected

  # If you have extra params to permit, append them to the sanitizer.
  def configure_sign_up_params
    devise_parameter_sanitizer.for(:sign_up) { |u| u.permit(:username, :email ,:password, :password_confirmation) }
  end

  # If you have extra params to permit, append them to the sanitizer.
  def configure_account_update_params
    devise_parameter_sanitizer.for(:account_update) { |u| u.permit(:username, :email, :current_password ,:password, :password_confirmation) }
  end
end
类用户::注册控制器<设计::注册控制器
筛选前:配置注册参数,仅:[:创建]
在\u筛选器之前:配置\u帐户\u更新\u参数,仅:[:更新]
...
受保护的
#如果要允许使用额外的参数,请将它们附加到消毒液中。
def配置\注册\参数
为(:注册){许可证(:用户名,:电子邮件,:密码,:密码确认)}设计参数
结束
#如果要允许使用额外的参数,请将它们附加到消毒液中。
def配置\帐户\更新\参数
为(:帐户更新){许可证(:用户名,:电子邮件,:当前密码,:密码,:密码确认)}设计参数
结束
结束

我不知道我错过了什么

很长时间了,但是你能试试这个语法吗<代码>设计\u参数\u消毒剂。两种方法都允许(:帐户\u更新,密钥:%i[用户名电子邮件当前密码\u确认])。这就是我让它为类似的东西工作的方式,但是,你能试试这个语法吗<代码>设计\u参数\u消毒剂。两种方法都允许(:帐户\u更新,密钥:%i[用户名电子邮件当前密码\u确认])。我就是这样让它为类似的东西工作的
 class Users::RegistrationsController < Devise::RegistrationsController

 before_filter :configure_sign_up_params, only: [:create]
 before_filter :configure_account_update_params, only: [:update]

 ...

 protected

  # If you have extra params to permit, append them to the sanitizer.
  def configure_sign_up_params
    devise_parameter_sanitizer.for(:sign_up) { |u| u.permit(:username, :email ,:password, :password_confirmation) }
  end

  # If you have extra params to permit, append them to the sanitizer.
  def configure_account_update_params
    devise_parameter_sanitizer.for(:account_update) { |u| u.permit(:username, :email, :current_password ,:password, :password_confirmation) }
  end
end