Symfony2のフラッシュメッセージが消えずに無駄に悩んだ失態メモ

symfony-flash-message-issue
  • URLをコピーしました!

結論から言うと、フレームワークの仕様をよく読んでいなかった。
フラッシュメッセージをセットする際、何パターンか書き方があるらしいが、基本的にSymfonyのドキュメントに書いてある通り以下のようにセットし、

取り出して表示する際はこのようにします。

Controller (Symfony 2.8 Docs)

目次

フラッシュメッセージが消えない

フラッシュメッセージをただの分岐用のフラグとして使いたかった私は、twig側でこのような使い方をしてしまい、リロードしてもフラッシュメッセージが消えないと1人であたふた…。

知ってる人はわかると思いますが、当然消えるわけないですよね…。
だって、getしてないんだもん!
ココを勘違い。
フラッシュメッセージコントローラを呼び出した後、フレームワークのafter関数的な何かの機能で消えるものだと勝手に思い込んでいました。

getしたらあっさり解決

実際は自動的に消してくれるのではなく、app.session.flashBag.get等でgetしないと消えないのです。
つまり、分岐した後に取り出す必要があったわけです。

または、先に取ってtwig側に引数として渡す方法もありますね。
アホ過ぎて笑えない…。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA


目次