読者です 読者をやめる 読者になる 読者になる

ちーくんのブログ

プログラミング備忘録

Rails5でdeviseのStrong Parametersがエラーになる

こんにちは。本日はRails5で使用しているdeviseで発生したエラーの解決策についてです。

deviseでエラーが発生

普通に今までのようにdeviseのStrong Parametersを設定。

 # application_controller.rb

before_action :configure_permitted_parameters, if: :devise_controller?

private

def configure_permitted_parameters
  devise_parameter_sanitizer.for(:sign_up) << :name
end


そしてローカルで動かしていたら以下のようなエラーがでた。

undefined method `for' for #<Devise::ParameterSanitizer:***>


なんでだろうと思い、ちょっと小一時間ハマってしまった。。


解決策

エラーにもあるようにforが原因のようだ。
devise4からforではなくpermitを使うようになりました。

# application_controller.rb

def configure_permitted_parameters
  devise_parameter_sanitizer.permit(:sign_up, keys: [:name])
end


これでサーバーを再起動すればエラーなく今まで通りに動きました。



本日は以上です。