0

我在表单中使用 Symfony2 flash 消息在表单提交后构建不同的视图。到目前为止,一切都按预期进行,但现在我希望 session.flash 消息(仅以一种形式)在呈现此表单响应视图后不再存在。

{% if app.session.hasFlash('something') %}
   ...some code...
{% endif %}

我对此进行了研究,但是除了具有删除此闪存功能的官方参考之外,我还没有找到任何信息。

有人知道哪一个是最好的做法吗?在某个特定位置(例如控制器或事件)删除此闪存,或者可能存在一些限制闪存消息生命周期的选项。

4

1 回答 1

2

由于您只是在检查这一点,而不是在调用 - flash 仍将被放置在会话中。要触发会话删除 - 您必须调用getFlash()它。

getFlash()目前,调用和之间的区别removeFlash()实际上只是第一个方法返回值。

对于您的特定情况,我建议您使用第二个参数调用 getFlash(),如果请求的索引不存在,它会确定默认返回值。

{% if app.session.getFlash('something', false) %}
   ...some code...
{% endif %}
于 2012-09-05T20:11:26.390 回答