Ruby on Rails:动作视图纵览

http://tech.ddvip.com   2008年01月18日    社区交流

内容摘要:在本文中,将主要讨论动作视图的基础服务。第一部分介绍了和动作视图相关的服务。在第二和第三部分讨论动作视图的一些基本功能,在最后一部分,将给出一个实例来说明如何使用动作视图。

  如果@str中的字符串是 "I love …",那么就应该返回"I love you"

<%= highlight(@str, "love") %>

  如果@str中的字符串是"I love you."

  那应该显示:

I <strong class="highlight">love</strong> you.

  在字符串转换中,最有意思转换可能就是将英文单词的单数形式转换成复数形式(你可以用这个功能查一下单词的复数形式是什么)。

<%= 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()方法可以实现导航的功能。以下是具体的实现代码:

来源:天极    作者:李宁    责编:豆豆技术应用

正在加载评论...