Rails中的Flash消息被转移到下一页

时间:2010-08-11 15:57:02

标签: ruby-on-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 %>

我需要在执行某些操作时显示这些消息,然后重定向到特定页面(这很正常)。但我的问题是这个Flash消息在页面之间持续存在。在页面之间出现两次,需要在向用户显示后立即将其清除。

如何处理此方案。请帮帮我!

1 个答案:

答案 0 :(得分:29)

显示Flash消息的方式很好。我认为问题在于你如何设置它们。例如,如果您要设置Flash消息而不是重定向,则可以分配到flash.now[:notice]而不是flash[:notice],并且您的消息在重定向后不会消失。