2013-05-09 112 views
0

我想在我的Rails應用程序中顯示一些登錄驗證錯誤。Ruby on Rails - 另一個Flash

我知道我可以存儲錯誤的Flash對象和轉儲他們這樣在頁面上:

<% flash.each do |key, value| %> 
    <div class="mFlash flash-<%= key %>" data-module="mFlash"> 
     <%= value %> 
    </div> 
<% end %> 

但我想使用它作爲全球部分我的應用程序。

該部分的定位不是我希望我的登錄驗證錯誤去的地方。

我可以在控制器操作之間創建另一個類似Flash的變量嗎? (我的身份驗證操作發生在呈現頁面的控制器的單獨控制器上)。

我真的不想做喜歡的事,哈克:

<% flash.each do |key, value| %> 
     <div class="mFlash flash-<%= key %>" data-module="mFlash"> 
      <%= value unless (key == 'loginerrors') %> 
     </div> 
    <% end %> 

回答

4

我不知道如何創建另一個Flash做的,但我的懷疑是,這將最終被更哈克。

爲什麼不只是創建兩個泛音和過濾,散列的部分,他們實際上處理:

# _main_flash.html.erb 
<% flash.except(:loginerrors).each do |key, value| %> 
    ... 
<% end %> 

# _login_flash.html.erb 
<% flash.slice(:loginerrors).each do |key, value| %> 
    ... 
<% end %>