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

bra*_*boy 11 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
Run Code Online (Sandbox Code Playgroud)

我的布局有这个

  <%= display_flash_content %>
Run Code Online (Sandbox Code Playgroud)

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

如何处理这种情况.请帮我!

Sha*_*ell 29

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