2013-05-09 89 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 %>