Rails寶典之第十八式: 循環flash

我們在application.rhtml(global layout)裏經常需要寫各種flash的顯示: 
Java代碼  收藏代碼
  1. <% unless flash[:notice].nil? %>  
  2.   <div id="notice"><%= flash[:notice] %></div>  
  3. <% end %>  
  4.   
  5. <% unless flash[:error].nil? %>  
  6.   <div id="error"><%= flash[:error] %></div>  
  7. <% end %>  

我們可以循環來輸出flash: 
Java代碼  收藏代碼
  1. <% flash.each do |key, msg| %>  
  2.   <%= content_tag :div, msg, :id => key %>  
  3. <% end %>  

這樣寫倒是節約了代碼,但是可能flash消息的順序不是很好,我們可以這樣寫: 
Java代碼  收藏代碼
  1. <%- [:error, :warning, :notice, :message].each do |key| -%>  
  2.   <%= content_tag :div, flash[key], :id=> key if flash[key] %>  
  3. <%- end -%>  
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章