渲染树枝模板时,我在控制器中设置了一条 Flash 消息。如果有发布操作,我想重定向到同一页面,但更改 Flash 消息。
if ($request->isMethod('POST')) {
...
...
$this->get('session')->getFlashBag()->clear(); // Does not work
$this->get('session')->getFlashBag()->all(); // Does not work
$request->getSession()->getFlashBag()->set('user-notice', $flash_message2);
return $this->redirect($request->headers->get('referer'));
}
$this->get('session')->getFlashBag()->set('user-notice', $flash_message1);
return $this->render(....
但问题是显示的 flash 消息是 $flash_message1,应该是 $flash_message2。
当尝试使用 add 而不是 set 时,我可以同时看到它们。我尝试使用 Symfony2clear()
和all()
功能:http ://api.symfony.com/2.3/Symfony/Component/HttpFoundation/Session/Flash/FlashBagInterface.html但没有任何改变。
任何想法?谢谢 !!!