Rails4で開発を始めたアプリケーションをRails5にアップデートしたら
```undefined method `for' for #Devise::ParameterSanitizer:0x***
原因のファイルは app/controllers/application_controller.rb で、
```rb:app/app/controllers/application_controller.rb
def configure_permitted_parameters
devise_parameter_sanitizer.for(:sign_up) { |user_params| user_params.permit(:username, :password, :password_confirmation) }
devise_parameter_sanitizer.for(:sign_in) { |user_params| user_params.permit(:username, :password, :remember_me) }
end
と書いていたからだった。
Deviseの公式にあるように、forメソッドをpermitメソッドで書き換えてやるとうまくいった。
app/app/controllers/application_controller.rb
def configure_permitted_parameters
devise_parameter_sanitizer.permit(:sign_up) do |user_params|
user_params.permit(:username, :password, :password_confirmation)
end
devise_parameter_sanitizer.permit(:sign_in) do |user_params|
user_params.permit(:username, :password, :remember_me)
end
end