显示Flash消息的最佳实践方法

我想知道显示flash消息的最佳做法是什么。 我见过的两种主要方式是使用类似这种脚手架生成的代码

或者在您的应用程序标题中放置这样的代码。

  
<div class="">

在我看来,第一种方法增加了更多的灵活性,而后者提高了代码的可读性并消除了冗余。 大多数rails开发人员更喜欢哪种方法? 作为一个侧面问题,脚手架如何实施通知? 它只是一个访问Flash哈希的助手吗? 当你可以直接使用flash哈希时,为什么要经历使用帮助器的麻烦? 谢谢

我是这样做的:

 <% flash.each do |key, value| %> <%= content_tag :div, value, class: "flash #{key}" %> <% end %> 

调用部分可以使您的application.html.erb更清洁..

 <%= render 'shared/flash_messages' if !flash.empty? %> 

..并在部分做像@zolter提到的那样:

 
<% flash.each do |key, value| %> <%= content_tag(:div, value, :class => "flash #{key}") %> <% end %>

为什么不将第二个方法放在辅助函数上,这样就不会影响布局的代码可读性?

 <% if flash[:notice] %> 

<%= notice %>

<% end %> <% if flash[:alert] %>

<%= alert %>

<% end %>