升级到2.4后,Symfony2 FlashBag是否停止工作?

时间:2014-01-29 18:02:20

标签: session symfony

在我的控制器中,我使用此代码添加了一条flash消息并重定向:

$this->get('session')->getFlashBag()->add('success', 'Foo Message');    
return $this->redirect($this->generateUrl('list_route'));

我使用以下代码在模板中显示消息:

<div id="flashes" class="row-fluid">
  {% for type, flashMessages in app.session.flashbag.all() %}
    {% for flashMessage in flashMessages %}
      <div class="alert alert-{{ type }}">
        <button type="button" class="close" data-dismiss="alert">×</button>
        {{ flashMessage|raw }}
      </div>
    {% endfor %}
  {% endfor %}
</div>

在我从symfony 2.3升级到2.4.1之前,这一功能完美无缺。

没有错误,我的日志没有错。消息根本不显示,app.session.flashbag为空。

闪光袋有什么变化吗?如何解决?

1 个答案:

答案 0 :(得分:2)

你偶然使用Liip\CacheControlBundle吗?我有完全相同的问题,经过一些挖掘,我发现这个捆绑清除了flashbag。

config.yml

查看是否有flash_message_listner: true行,是否有转到false,事情应该再次发挥作用。

我这样做是为了回答,因为我没有足够的代表发表评论。我想Liip\CacheControlBundle也会在之前的版本中做到这一点,但我想我会试一试,因为它对我有用。

我没有获得标准的分发包,而是获得了REST发行版,它附带了这个包,默认情况下包含flash_message_listner: true。只是翻过来,解决了我的问题。