【发布时间】:2013-08-17 09:35:52
【问题描述】:
我正在使用 Rails 4.0.0 和 Devise 3.0.2,并尝试在 Devise README 中使用 this instruction 之后的强参数配置 Devise。
我在application_controller.rb写了这样的代码
class ApplicationController < ActionController::Base
before_filter :configure_permitted_parameters, if: :devise_controller?
protected
def configure_permitted_parameters
devise_parameter_sanitizer.for(:sign_up) << :nick
end
end
然后我访问了http://localhost:3000/users/sign_up。我收到了NoMethodError in Devise::RegistrationsController#new,上面写着:
未定义的方法
<<' for {}:ActionController::Parameters
并指向我写devise_parameter_sanitizer.for(:sign_up) << :nick的确切行
我做错了什么吗?感谢您的帮助。
【问题讨论】:
-
我尝试了完全相同的代码并得到相同的错误。
devise_parameter_sanitizer.for(:sign_up)返回一个空的散列,因此无法在其上调用<<方法。我已经提交了[an issue][1],你可以关注它。 [1]:github.com/plataformatec/devise/issues/2574 -
@RafałCieślak 感谢您的确认,我会关注这个问题。
标签: ruby-on-rails devise ruby-on-rails-4 strong-parameters