私はSymfony 2.0からSymfony 2.1に移行しています。私は(悪いルートを渡すことによって、例えば)エラーが発生した場合はフラッシュメッセージがあることを、私はプロファイラをチェックSymfony 2.1のリダイレクト時にフラッシュメッセージが消える
public function createEntidadeAction() {
$this->get('session')->getFlashBag()->set('error', 'message');
return $this->redirect($this->generateUrl('EntidadeBundle_index'));
}
:
私は私のコントローラ上の次の簡単なコードを持っています。
しかし、リダイレクトを成功させると、フラッシュメッセージが消えて何も表示されません。私は対応するTwigテンプレートのフォローを持っています:
{% for flashMessage in app.session.flashbag.get('error') %}
<div class="flash-notice">
{{ flashMessage }}
</div>
{% endfor %}
私はこれを理解できません。私は何が欠けていますか?フラッシュメッセージは、最初のリダイレクトの後に続く必要がありますか?
問題は私がそれを表示している方法ではありません。フラッシュメッセージは文字どおり消滅します。プロファイラを見ると、フラッシュメッセージは表示されません。最初のリダイレクト直後。 addを使用してもこれは変わりませんでした。たぶん、これはいくつかのPHPの設定です。私はこれをconfig.yml: 'session: storage_id:session.storage.mock_file'に入れて、php.iniの設定をすることができます。 – Fonsini
モックファイルストレージ?実際のセッションではなく、テストに使用する必要があります。 'session.storage.native'を使います。 –
問題は、同じセッションをマスターセッションから保存するために、ローカルのsymfonyセッションが必要なことです。そして、ローカルの値では、私は** C:/ wamp/www/Symfony/symproject/app/cache/dev/sessions **を持ち、マスター値は** c:/ wamp/tmp **です。これは認証上の理由から(私は単純なsaml phpを使用しています)OKではありません。この場合、どうしたらいいですか? Symfony 2.0ではこの問題はありませんでした。 Local session save pathの値はsymfonyによって変更されていませんでした。 – Fonsini