Вот мое действие для создания. Он создает новый экземпляр Message, который проверяется с помощью проверки модели.Вспышка не очищается после просмотра
Тогда есть простой цикл if, который отправляет сообщение, если проверка модели была выполнена и отображает «новое» представление, если они хотят отправить другое. Если проверка модели не была выполнена, она просто снова отображает «новое» представление.
Флэш-хэш также заполнен соответствующей информацией, успешным сообщением и предупреждающим сообщением, если сообщение было успешным или нет.
def create
@message = Message.new(message_params)
if @message.valid?
Contactform.contact(@message.name, @message.town, @message.email, @message.content).deliver
flash[:success] = "Sent message"
render 'new'
else
flash[:alert] = "Alert"
render 'new'
end
end
Однако, я не думаю, что я делаю это правильно, потому что сообщения остаются во вспышке. Они не очищаются после того, как они были просмотрены один раз.
Как я могу убедиться, что вспышка очищена, как и должно быть?
Update
Это как ошибка приходит о. Я отправляю сообщение успешно, и я перенаправляюсь к «новому» виду, и получаю «успешную» вспышку. Я пытаюсь отправить ошибочное сообщение, и я перенаправляюсь к «новому» представлению, и я получаю как «успешную» вспышку, так и «предупреждение». Очень запутанный для пользователя!
Второе, что я просматриваю на другой странице, оба вспышки исчезают, но это проблема, я думаю. Что-то связано с возвращением на ту же страницу, что и Rails не знает, чтобы очистить флеш. Могу ли я отключить вспышку?