Я не знаком с revel
, но сообщение "мигание" обычно используется, когда вам нужно некоторое общение с пользователем для переноса через перенаправление. godoc , по-видимому, описывает это точно также для этого варианта использования.
Если вы визуализируете шаблон непосредственно в этом обработчике запросов, вам, вероятно, не следует использовать c.Flash
. Я предполагаю, что revel
покажет только флэш-сообщение , полученное с запросом. Вызов c.Flash.Error
устанавливает поле в cookie, что означает, что оно будет отправлено обратно вызывающей стороне, а не шаблону. При рендеринге next он будет считывать из cookie-файла, который вызывающий абонент отправляет обратно на сервер, который будет включать это флэш-сообщение. Однако, по-видимому, установка нового флэш-сообщения заменяет старое, заставляя его (еще раз) отправлять его вызывающей стороне, а не шаблону.
Хорошая новость заключается в том, что на самом деле ваше сообщение может попасть только на одну страницу, и вы почти наверняка можете вставить туда свое сообщение: данные шаблона! Вместо вызова c.Flash.Error
отправьте сообщение, используя обычные механизмы. В этом случае предполагается, что ваш шаблон flash.html
содержит что-то вроде:
{{ if .flash.error }}
<div class="error">{{ .flash.error }}</div>
{{ end }}
вы сможете передавать эти данные, заменив строку c.Flash.Error("Message")
на:
c.ViewArgs["flash"] = map[string]string{"error": "Message"}