Ruby on Rails中有一种专门针对Flash的操作方法。比如循环输出flash等。在这里我们将会学到有关Rails循环输出flash的相关技巧。#t#
我们在application.rhtml(global layout)里经常需要写各种flash的显示:
- < % unless flash[:notice].nil? %>
- < div id="notice">< %= flash[:notice] %>
- < /div>
- < % end %>
- < % unless flash[:error].nil? %>
- < div id="error">< %= flash[:error] %>
- < /div>
- < % end %>
- < % unless flash[:notice].nil? %>
- < div id="notice">< %= flash[:notice] %>
- < /div> < % end %> < % unless flash[:error].nil? %>
- < div id="error">< %= flash[:error] %>
- < /div> < % end %>
我们可以实现Rails循环输出flash:
- < % flash.each do |key, msg| %>
- < %= content_tag :div, msg, :id => key %>
- < % end %>
- < % flash.each do |key, msg| %>
- < %= content_tag :div, msg, :id => key %>
- < % end %>
这样写倒是节约了代码,但是可能flash消息的顺序不是很好,我们可以这样写:
- < %- [:error, :warning, :notice,
:message].each do |key| -%>- < %= content_tag :div, flash[key],
:id=> key if flash[key] %>- < %- end -%>
以上就是我们为大家介绍的Rails循环输出flash相关方法。