开发者社区> 余二五> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

018 循环显示flash信息

简介:
+关注继续查看
Displaying flash messages in the layout can be a pain at times. In this episode you will learn an easy way to display any kind of flash message by looping through the hash.
 
有时候在layout中显示flash消息是比较痛苦的一件事情。这节我们来学习一种简单的方法,通过hash循环来实现各种flash消息的显示。
 
情形:
#layout/application.rhtml
<%unless flash[:notice].nil?%>
    <div id="notice"><%= flash[:notice]%></div>
<%end%>
<%unless flash[:error].nil?%>
    <div id="error"><%= flash[:error]%></div>
<%end%>
 
这段代码看上去有些冗余。flash是一个hash,所以可以通过hash循环的方式将其显示出来:
 
<%flash.each do |key,msg|%>
    <%= content_tag :div, msg, :id=>key%>
<%end%>
------------
content_tag在railsbrain中的说明:
 
content_tag(name, content_or_options_with_block = nil, options = nil, escape = true, &block)
Returns an HTML block tag of type name surrounding the content. Add HTML attributes by passing an attributes hash tooptions. Instead of passing the content as an argument, you can also use a block in which case, you pass your options as the second parameter. Set escape to false to disable attribute value escaping.

Options

The options hash is used with attributes with no value like (disabled and readonly), which you can give a value of true in theoptions hash. You can use symbols or strings for the attribute names.

Examples

  content_tag(:p, "Hello world!")
   # => <p>Hello world!</p>
  content_tag(:div, content_tag(:p, "Hello world!"), :class => "strong")
   # => <div class="strong"><p>Hello world!</p></div>
  content_tag("select", options, :multiple => true)
   # => <select multiple="multiple">...options...</select>
  <% content_tag :div, :class => "strong" do -%>
    Hello world!
  <% end -%>
   # => <div class="strong"><p>Hello world!</p></div>




本文转自 fsjoy1983 51CTO博客,原文链接:http://blog.51cto.com/fsjoy/131730,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Flash剪贴板功能
做JS的都知道,如果不考虑浏览器的兼容问题,其实,JS本身的window.clipboardData对象是可以做到复制内容到剪贴板的功能,但除了IE浏览器,FF和Chrome浏览器都不支持。现在为了浏览器的兼容问题,只能使用Flash来做这功能了。
855 0
flash 显示 qq客服状态
前几天看到有园友写了一篇“ flash查看对方qq是否在线 ”,正好今天有一个朋友搞flash全站,想使用这个功能,但是有些小要求,点击图标后,要求弹出QQ对话框,于是改进了一下: package { import flash.
845 0
[转]Flash开发技能树
早上在网上闲逛,发现了下面这张图,觉得很好,转帖于此,同时向原作者的辛苦整理表示感谢. 原图太大,发不上来,打个包下载吧: http://files.cnblogs.com/yjmyzz/flash%e5%bc%80%e5%8f%91%e6%8a%80%e8%83%bd%e6%a0%91.
593 0
flash中随机排列数组
function randomArray(array) {    var _len = array.length;    var _newArr = new Array();    var i;    for (i=0; i
461 0
+关注
20377
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载