Symfony2: как избежать flashbags в кеше

Я использую AppCache Symfony2, и он работает очень хорошо. У меня проблема с флэшбэгами. Когда я делаю запрос PUT, POST или DELETE, я делаю flashbag с сообщением для пользователя. Однако этот flashbag хранится в кэше, и когда я получаю доступ к кэшированному маршруту с помощью метода GET, flashbag все еще там.

У меня вопрос, как сделать flashbag только один раз на странице (а не в кэшированном ответе). Я читал о ESI, но я не знаю, как это могло бы мне помочь: я не знаю, как создать контроллер, единственная цель которого — отображать flashbags. Кроме того, этот контроллер может не иметь информации, необходимой для отображения правильных флэш-пакетов.

Спасибо за ответ.

Ура!

1

Решение

FlashMessages хранятся в пользовательском сеансе, а не в кэше, и они должны быть «использованы» контроллером, который их отображает. Если вы выполняете вызов AJAX или чистый REST (как это кажется по вашему вопросу), вы не должны использовать Flashbag, а использовать какой-либо механизм ответа, встроенный в запросчик AJAX, или правильный код ответа HTTP.

0

Другие решения

Других решений пока нет …