我为rails 4应用程序设计了两个flash通知。First应该出现在所有页面上(当事件发生时),所以我把它写在了application.html.erb文件中。第二个应该只出现在带有自定义CSS的登录页上。
现在,两者都显示在登录页上。如何避免第一个(用application.html.erb编写)只用于我的登录页?
如果你想避免为特定的controller
或action
呈现闪光通知,那么你可以做这样的事情-
<% 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'
,以备将来考虑。