我正在使用Rails 4.0.0和Devise 3.0.2,並嘗試在Devise README中配置設計參數this instruction後面的強參數。自定義具有強參數的設計
我在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)'返回一個空的散列,所以不可能調用'<<'方法。 我已提交[一個問題] [1],你可以關注。 [1]:https://github.com/plataformatec/devise/issues/2574 –
@RafałCieślak謝謝您的確認,我會按照這個問題。 –