【解決】undefined method 'flash' for#<ActionDispatch::Request>
はじめに
Vue.js + RailsのAPIモードで開発中に突如として現れたエラーです。
原因、解決方法を記載します。
解決方法
flashメソッドが未定義だと言われているので、application.rbに定義してあげます。
原因
Rais 5から実装されたAPIモードには以下のような特徴があります。
・不要なGemをgemfileから省いている
・不要なRack middlewareを省いている
・Generatorでviewやhelperを生成しない
2つ目の特徴にある、”不要なRack middlewareを省いている”ところが今回のエラー原因につながります。
省いているRack middlewareの中に、ActionDispatch::Flashがあるので、Flashが未定義となり、”undefined method 'flash' for#<ActionDispatch::Request>”のエラーが発生していました。