快速业务通道

Ruby on Rails的动作视图纵览 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-14

Ruby on Rails的动作视图纵览

时间:2011-11-09 天极 李宁

本文将讨论RoR中提供的基础服务之一:动作视图。动作视图可以使你更快速地将数据展现给用户。在 本文中将介绍一些动作视图的服务,并且将举一个例子来说明如何使用动作视图。

在MVC模式中的V,即视图(View),它的作用是将数据以用户所需要的形式展现出来,和传统的模式不 同的是,视图在展现数据时可以省去许多不必要的细节。也就是说,任何基于MVC模式的框架(framework) 都应该提供更容易的方法提取和显示需要的数据。RoR就是这样的框架。它将动作视图作为其核心组件之 一。

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

动作视图的服务

视图的功能就是向用户展现数据。下面列举了动作视图中的主要服务:

·模板

·布局

·分页

当然,在动作视图中还在很多的服务,但上面的三个服务在动作视图中是最重要的。

模板

所谓模板,就是在一个文件中预定义了一些共用的资源,应用程序通过使用这些共用的资源,可以简 化应用程序的开发过程,从而达到重用的目的。在动作视图中的模板所包含的资源主要就是布局信息、一 些数据所存放的路径等。在动作视图中的模板很多,如HTML格式的登录模板、以及Email模版等。

布局

从软件(包括Web和桌面程序)上来说,布局就是将GUI中的控件进行组织和安排,也就是说布局控制 着GUI控件(如按钮、文本框等)如何被放置在界面上。例如,布局可通过垂直等间距方式将要排列的控 件按垂直方向等间距进行排列。

分页

分页的作用就是将大量的数据分批地显示在页面上,可通过"上一页"和"下一页"进行页间的切换。分 页有些象用打印机打一个大的文档,一张纸打不下,就将数据分成多张纸来打。虽然将分页这种显示数据 的方式应用到程序中可以解决大数据量显示的问题,但这同时又会带来另外一个问题,那就是如果对数据 进行导航,也就是翻页问题。

除了以上提到的服务外,在动作视图中还有其它的服务,如格式化助手等。但是上面所介绍的三个服 务是动作视图中最重要的。在下一部分,我们将讨论如何使用这些服务。

Ruby on Rails的动作视图纵览(2)

时间:2011-11-09 天极 李宁

模板和格式化助手

动作视图为我们提供了很多建立动态视图的服务。下面是动作视图提供的主要的服务:

·模版

·格式化助手

·分页

·布局

上面的4种服务,除了格式化助手外,其它三个服务都已经在前面介绍过了。

模板

就象以前讨论的一样,在模板中包含了一些代码、标记、简单文本或它们的组合。在其中的代码可以 通过Controller中的访问信息提供动态的内容。代码通过执行环境访问信息。这个环境为代码提供了以下 的信息:

1. Controller的实例变量,通过这些变量可以将数据从Controller传给模板。

2. 作为存取器的Controller对象。这些对象包括对象头、参数、请求、响应和会话。

3. 当前正在使用的Controller对象。模板代码可以从这个Controller对象中调用它的public方法。

在RoR中的模板是RHTML文件。RHTML文件有些类似于JSP文件,在RHTML文件中有静态的HTML,也有动态 的内容。动态的内容可以由内嵌的代码生成技术产生,也可以用手工编写。如以下的RHTML文件显示了当 前的日期和时间:

<h1>大家好!</h1>
<p>
<b>
当前日间: <%= Time.now %>
</b>
</p>

和JSP类似,在RHTML中有两种写动态代码的方法,一种是将代码写到<%= … %>中,另外一种是将代 码写在<% … %>中。在<%= … %>中的Ruby语句只是当

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号