2010-08-11 43 views
11

我在應用程序中使用輔助方法顯示錯誤和通知消息,如下所示。Rails中的Flash消息轉入下一頁

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消息在頁面之間依然存在。它在頁面間出現兩次,一旦顯示給用戶,它就需要立即清除。

如何處理這種情況。請幫幫我!

回答

29

您顯示Flash消息的方式很好。我認爲問題在於你如何設置它們。例如,如果您正在設置閃光消息而不重定向,則可以將其分配給flash.now[:notice]而不是flash[:notice],並且在重定向之後您的消息不會四處掛起。