Symfony2 アプリケーションで初めてフラッシュ メッセージを設定して表示しようとしています。設定中のフラッシュメッセージは、一度表示するとクリアされません。
コントローラー アクションにフラッシュ メッセージを設定します。
public function startAction()
{
if (!$this->hasError()) {
$this->get('session')->setFlash('test_start_error', '');
return $this->redirect($this->generateUrl('app', array(), true));
}
}
関連するフラッシュ キーが設定されている場合、対応するビューにエラー通知を表示します。
{% if app.session.hasFlash('test_start_error') %}
error content here
{% endif %}
正しいエラー条件の下で、コントローラはフラッシュ メッセージを設定し、関連するエラーの内容がビューに表示されます。
表示されると、フラッシュ メッセージは要求ごとに再表示されます。関連するセッション データを を介してvar_dump($this->get('session')->getFlashBag());
調べると、フラッシュ コンテンツがセッションに残っていることがわかります。
一度表示されたフラッシュメッセージがセッションから削除されたという印象を受けました。これは私には起こっていません。
明らかに私は何か間違ったことをしています - それは何ですか?