Przechodzę z Symfony 2.0 do Symfony 2.1.Flash Message znika w przekierowaniu w Symfony 2.1
mam następujący prosty kod na moim kontrolera:
public function createEntidadeAction() {
$this->get('session')->getFlashBag()->set('error', 'message');
return $this->redirect($this->generateUrl('EntidadeBundle_index'));
}
Gdybym wygeneruje błąd (na przykład poprzez przepuszczanie złą drogę), sprawdzić na profilera, że wiadomość nie jest lampa błyskowa.
Jeśli jednak pozwolę przekierowaniu powiodło się, wiadomość błyskawiczna zniknie i nic nie zostanie wyświetlone. Mam folloing na moim odpowiedniego szablonu Twig:
{% for flashMessage in app.session.flashbag.get('error') %}
<div class="flash-notice">
{{ flashMessage }}
</div>
{% endfor %}
nie mogę dowiedzieć się tego. czego mi brakuje? Wiadomości Flash powinny trwać po pierwszym przekierowaniu, nie?
Problem nie jest taki, jaki wyświetlam. Wiadomość flash dosłownie zniknie. Jeśli spojrzę na profilera, wiadomość flash nie ma. Zaraz po pierwszym przekierowaniu. Używanie add nie zmieniło tego. Może to konfiguracja php. Mam to w config.yml: 'session: storage_id: session.storage.mock_file', więc może mieć konfiguracje php.ini. – Fonsini
Mock przechowywania plików? Powinien być używany do testowania - nie do prawdziwych sesji. Użyj 'session.storage.native'. –
Problem polega na tym, że potrzebuję lokalnej sesji symfony, aby mieć tę samą ścieżkę zapisu sesji z sesji głównej. A w lokalnej wartości mam ** C:/wamp/www/Symfony/symproject/app/cache/dev/sessions **, a wartość główna mam ** c:/wamp/tmp **. To nie jest w porządku z powodów uwierzytelniania (używam prostego saml php). Co powinienem zrobić w tym przypadku? Nie miałem tego problemu w Symfony 2.0. Lokalna wartość zapisu sesji nie została zmieniona przez symfony. – Fonsini