Rails宝典之第十八式: 循环flash

本文介绍了一种优化Rails应用中Flash消息显示的方法。通过循环输出不同类型的Flash消息,并确保消息按预设顺序显示,提高了用户体验。文章提供了具体的Ruby on Rails代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我们在application.rhtml(global layout)里经常需要写各种flash的显示:
[code]
<% unless flash[:notice].nil? %>
<div id="notice"><%= flash[:notice] %></div>
<% end %>

<% unless flash[:error].nil? %>
<div id="error"><%= flash[:error] %></div>
<% end %>
[/code]
我们可以循环来输出flash:
[code]
<% flash.each do |key, msg| %>
<%= content_tag :div, msg, :id => key %>
<% end %>
[/code]
这样写倒是节约了代码,但是可能flash消息的顺序不是很好,我们可以这样写:
[code]
<%- [:error, :warning, :notice, :message].each do |key| -%>
<%= content_tag :div, flash[key], :id=> key if flash[key] %>
<%- end -%>
[/code]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值