Хотя приведенный выше ответ является отличным объяснением того, что делает метод flash (), для меня он не полностью отвечает на вопрос, а скорее дает отличную альтернативу.
Лично я хотел использовать метод флэш-памяти, поэтому мне не пришлось использовать компонент сеанса, и я тоже застрял в своем флэш-сообщении. В документации к торту 2.x говорится, что вторым параметром метода flash () является URL, относящийся к CakePHP. Это означает, что следующее должно показать сообщение и затем перенаправить на действие index.
$this->flash(__("Some message for the user here..."), array("action" => "index"));
Моя проблема и то, что она выглядела как проблема оригинального плаката, заключалась в том, что он показывал вам флэш-сообщение, но не делал перенаправление после.
Я тщательно протестировал это с моим приложением, и виновником была настройка отладки в core.php
Configure::write('debug', 0);
Значение отладки должно быть установлено в «0», чтобы происходило перенаправление. Я не знаю, почему это так, но я протестировал его около 10 раз, и 10/10, когда мои настройки отладки были установлены на 1 или выше, я только что получил флэш-сообщение. Если я установлю его на 0, все работает отлично. Меня это не особо беспокоило, поскольку в производственных средах этот параметр должен быть равен 0.
Если у кого-то еще есть понимание того, почему перенаправление не происходит при включенной отладке, просим всех нас просветить.
Надеюсь, это поможет.