避免在rails应用程序登录页上使用application.html.erb进行flash通知



我为rails 4应用程序设计了两个flash通知。First应该出现在所有页面上(当事件发生时),所以我把它写在了application.html.erb文件中。第二个应该只出现在带有自定义CSS的登录页上。

现在,两者都显示在登录页上。如何避免第一个(用application.html.erb编写)只用于我的登录页?

如果你想避免为特定的controlleraction呈现闪光通知,那么你可以做这样的事情-

<% unless params[:action] == 'something' %>
  <% flash.each do |key, value| %>
    <div class="alert alert-<%= key %>"><%= value %></div>
  <% end %>
<% end %>

您可以检查控制器&application.html.erb中的操作,以显示类似以下的闪烁消息:考虑根路径:root "home#index",其中home是控制器,index是动作。

<% unless controller_name == 'home' && action_name == 'index' %>
  <% flash.each do |key, value| %>
    <div class="alert alert-<%= key %>"><%= value %></div>
  <% end %>
<% end %>

它对你有用,而且我希望你尝试gem 'metamagic',以备将来考虑。

相关内容

最新更新