在Symfony 2.1中重定向时Flash消息消失

Fon*_*ini 5 symfony flash-message symfony-2.1

我正在从Symfony 2.0迁移到Symfony 2.1.

我的控制器上有以下简单代码:

public function createEntidadeAction() {
    $this->get('session')->getFlashBag()->set('error', 'message');
    return $this->redirect($this->generateUrl('EntidadeBundle_index'));
}
Run Code Online (Sandbox Code Playgroud)

如果我生成错误(例如通过传递错误的路由),我会检查探查器是否存在flash消息.

但是,如果我让重定向成功,则flash消息将消失,并且不显示任何内容.我在相应的Twig模板上有以下内容:

{% for flashMessage in app.session.flashbag.get('error') %}
    <div class="flash-notice">
        {{ flashMessage }}
    </div>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚这一点.我错过了什么?Flash消息应该在第一次重定向后持续,不是吗?

Eln*_*mov 6

首先,尝试使用该add方法而不是set闪存袋.其次,尝试这个适用于我的模板:

{% for type, flashMessages in app.session.flashbag.all() %}
    {% for flashMessage in flashMessages %}
        <div class="alert alert-{{ type }}">
            {{ flashMessage|trans }}
        </div>
    {% endfor %}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)


Fon*_*ini 6

我想到了.

由于会话问题,Flash消息未显示.

Symfony 2.1现在默认使用session.storage.native作为storage_id和handler_id.

请查看本次会议的议题是如何解决在这里.