2011-04-06 72 views
0

我有兩個錯誤消息字符串,我想單獨在UI上顯示它們。如何在我的情況下處理多個錯誤消息?

flash[:error] = "Error message one" 
flash[:error] = "Error message two" 

當前,它們都閃爍一會兒,第二條錯誤消息被第一條隱藏。

我想爲秒「錯誤消息一個」一閃,「錯誤消息二」位於下面「錯誤消息一個」,並在網頁上停留不消失。如何在rails 3中做到這一點?

+0

試試這個gem https://github.com/dapi/gritter_notices – fl00r 2011-04-06 12:24:12

回答

3

您不限於flash [:error]。例如,您可以定義

flash[:second] = "Error message two" 

,並有這顯示在主佈局應用程序/視圖/佈局/ application.html.erb有:

<section id="flash"> 
    <% flash.each do |key, value| %> 
     <div class="flash <%= key %>"><%= value %></div> 
    <% end %> 
</section> 

這導致兩個div一前一後和如果需要,可以使用Prototype或JQuery在第一個上實現淡出。

+0

如何在頁面上使消息穩定呢?不是閃光,我的意思是消失。 – Mellon 2011-04-06 12:29:41

+0

所有的Flash消息都是「穩定的」,直到下一個請求。或者你的意思是留在多個頁面?比您需要再次設置閃光燈或採取另一種方法,例如將該值存儲在會話中並將其顯示在主佈局中。然後它會一直保持到您清除會話的價值。對於Flash,您可能對flash.now和flash.keep方法感興趣。 – 2011-04-06 12:32:15

+0

我試過了,閃光燈[:秒]不起作用... – Mellon 2011-04-06 12:35:04

相關問題