Всплывающие сообщения в Rails, перенесенные на следующую страницу

Я показываю сообщения об ошибках и уведомлениях в своем приложении со вспомогательным методом, как показано ниже.

  def display_flash_content
    [:error, :notice].map do |key|
      collection = flash[key].blank? ? [] : (flash[key].respond_to?(:map) ? flash[key] : [flash[key]])
      collection.map {|item| content_tag(:div, item, :class => key.to_s) }
    end
  end

и мой макет имеет это

  <%= display_flash_content %>

Мне нужно отображать эти сообщения, когда я выполняю некоторую операцию, а затем перенаправляю на определенную страницу (это работает нормально). Но моя проблема заключается в том, что это мгновенное сообщение сохраняется между страницами. Это происходит дважды между страницами, где его нужно очистить сразу же после его отображения пользователю.

Как справиться с этим сценарием. Пожалуйста, помогите мне!

Ответы

Ответ 1

То, как вы показываете флеш-сообщения, прекрасно. Я думаю, проблема в том, как вы их устанавливаете. Например, если вы устанавливаете флэш-сообщения и не перенаправляете, вы можете назначить flash.now[:notice] вместо flash[:notice], и ваше сообщение не будет зависать после перенаправления.