ストロングパラメーターに関するエラーで5日間ほどハマったのでメモ。
ストロングパラメーターで値を受け取ろうとすると、
ActionController::UnpermittedParameters
とのエラー。
コードを見直しても一向に解消せず。
先輩から「サーバーの再起動が必要なんじゃない?」と言われ、サーバー再起動。
するとエラーが出なくなりました。
エラーが出ていた原因はconfigディレクトリのapplication.rbに
config.action_controller.action_on_unpermitted_parameters = :raise
の記述をしていたからでした。
このコードを削除してからサーバーを再起動することで解消出来ました。
config.action_controller.action_on_unpermitted_parameters = :raise
と記述すると、許可されていないパラメーターが渡された時に、
ActionController::UnpermittedParameters
というエラーを出せるようになる。
configファイルの設定は、rails serverを起動した時点で反映される。
なので、一度サーバー起動した後に、configファイル内のコードを書き換えをしてもそのままでは適用されない。
反映したい場合は、一度サーバーを再起動する必要がある。
railsチュートリアルをやっていた時、configの設定をいじった後はサーバーを再起動していたなと思いだしました。。
参考
railsドキュメント 設定ファイルconfigについて
http://railsdoc.com/references/config
サーバーの再起動が必要な変更と不要な変更
https://rereview.hatenablog.com/entry/20180612/1528813991