Ruby on Rails的动作视图纵览 - 编程入门网
作一个值返回,如果其中含有多条语句,则返 回最后一条语句的值。而将代码放到<% … %>中,则按着正常的程序逻辑执行。虽然RHTML中可以执行 Ruby语句,但最好不要将商业逻辑代码写在RHTML中。代码的执行原理可看下面的例子。
如果有以下代码: <% 5.times do %> <5> <% end %> 在执行RHTML时,将上述代码转换为Ruby语句: 5.times do puts "<5>" end Ruby on Rails的动作视图纵览(3)时间:2011-11-09 天极 李宁格式化助手 视图的一个重要功能就是可以将从Controller传过来的数据进行格式化,以便用户更容易理解这些数 据。RoR提供的格式化助手就是用来完成这个功能的。格式化助手主要可以格式化三类信息:数字、日期 和文本。下面将讨论如何使用格式化助手对这些信息进行格式化。 数字和日期格式化 格式化助手可以进行多种的转换工作,如将本地时间转换成另外一种形式,将数字转换成货币类型、 百分比或电话号,下面是一些转换的例子: <%= distance_of_time_in_words(Time.now, Time.local (2006, 11, 1)) %> 将得到4或其它的数字(根据你运行它的日期不同而不同) <%= distance_of_time_in_words(Time.now, Time.now + 40, false) %> 将得到1分钟(40表示秒) <%= number_to_currency(99.99) %> 将得到$99.99 <%= number_to_percentage(66.6666) %> 将得到 66.667% <%= number_to_percentage(66.66666, :precision => 1) %> 将得到 66.7% <%= number_to_phone(1125551212) %> 将这个数字转换为 112-555-1212 格式化文本 同样,格式化助手也可以格式化文本。格式化操作包括截取字符串,加亮显示字符串中的子字符串, 甚至可以将一个单词转换成复数。下面是一些字符串的例子: 替换字符串的子串 <%= excerpt(@str, "you", 8) %> 如果@str中的字符串是 "I love …",那么就应该返回"I love you" <%= highlight(@str, "love") %> 如果@str中的字符串是"I love you." 那应该显示: I <strong class="highlight">love</strong> you. Ruby on Rails的动作视图纵览(4)时间:2011-11-09 天极 李宁在字符串转换中,最有意思转换可能就是将英文单词的单数形式转换成复数形式(你可以用这个功能 查一下单词的复数形式是什么)。 <%= pluralize(2, "person") %> 显示 2 people. 分页 在第一部分我介绍了分页的概念。在这部分我将讨论如何通过RoR使分页变得更容易。RoR通过控制层 和视图层实现分页。在控制层,RoR的分页系统控制从数据库中得到的记录。在视图层显示从控制层得到 的数据,以及用于分页显示的导航条。下面的例子描述了将users表分页显示的过程: 控制层的实现: 在控制层,分页必须按如下代码实现: def user_list @user_pages, @users = paginate(:users, :order_by => ''name'') end 以上代码通过paginate方法设置的分页器。这个方法有两个参数,第一个参数是要读取数据的表的名 子,第二个参数是在取数据时要排序的字段。这个方法返回两个对象,第一个对象@user_pages是分页器 对象, 第二个对象 @users 是每一页的记录数。其中@users用来向视图提供要显示的数据。 而 @user_pages负责从表中得到数据,然后将这些数据保存在@users中。 视图层的实现: 在视图层的RHTML文件中,@users中的数据将被展现给用户。pagination_links()方法可以实现导航的 功能。以下是具体的实现代码: <table> <tr><th>姓名</th></tr> <% for user in @users %> <tr><td><%= user.name %></td> <% end %> </table> <hr> <%= paginatio |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |