はじめに
Controller
を実装中に、以下のエラーに遭遇しました。
※ 多少表示を変えています。
undefined method `allow_forgery_protection' for #<ActiveSupport::HashWithIndifferentAccess:0x0000000e00abc000>
心当たりのないエラーだったので、どのように解消するか悩みました。
今回は解消内容をアウトプットいたします。
エラー原因
Controller
内でconfig
というメソッド名は、使用できませんでした。
今回自分が作成したメソッドは以下になります。
def config
@config ||= Rails.application.config_for(:test)
end
ymlファイルを呼び出すのをメモ化するために作成したメソッドの命名を、config
にしていました。
それが、今回のエラーの原因となっていることが判明いたしました。
解消方法
単純で、config
以外のメソッド名を使用するようにしましょう。
まとめ
もしかすると、Rails側の実装と被ってしまった可能性はあるかもと思いました。
今回は予約語とは違うと思っていますが、可能性はあるので、常に頭の片隅に入れておこうと思いました。
今回の内容が、参考になれば幸いです。
最後までご覧いただき、ありがとうございました。