Ruby on Rails 2.1 - 框架


框架是一个程序、一组程序和/或为您编写大多数应用程序的代码库。当您使用框架时,您的工作是编写应用程序的各个部分,使其执行您想要的特定操作。

当您开始编写 Rails 应用程序时,抛开配置和其他杂务,您必须执行三个主要任务 -

  • 描述和建模您的应用程序的域- 域是您的应用程序的宇宙。该域可以是音乐商店、大学、约会服务、地址簿或硬件库存。所以,你必须弄清楚它里面有什么,这个宇宙中存在什么实体,以及其中的项目如何相互关联。这相当于对数据库结构进行建模以保留实体及其关系。

  • 指定该域中可能发生的情况- 域模型是静态的。你必须让它充满活力。地址可以添加到地址簿中。乐谱可以从音乐商店购买。用户可以登录约会服务。学生可以在大学注册课程。您需要确定域元素可以参与的所有可能场景或操作。

  • 选择并设计该域的公开可用视图- 此时,您可以开始用 Web 浏览器术语进行思考。一旦您确定您的域中有学生,并且他们可以注册课程,您就可以设想一个欢迎页面、注册页面或确认页面等。每个页面或视图都会向用户显示当前的情况某一点。

基于以上三个任务,Ruby on Rails 处理模型/视图/控制器(MVC)框架。

Ruby on Rails MVC 框架

模型视图控制器原理将应用程序的工作划分为三个独立但紧密协作子系统

模型(ActiveRecord)

维护对象和数据库之间的关系并处理验证、关联、事务等。

该子系统在ActiveRecord库中实现,该库提供关系数据库中的表与操作数据库记录的 Ruby 程序代码之间的接口和绑定。

Ruby 方法名称是根据数据库表的字段名称自动生成的。

Active Record 还提供基于属性的动态查找器和许多其他帮助方法,使数据库交互变得简单高效。

视图(动作视图)

它是以特定格式呈现数据,由控制器决定呈现数据而触发。它们是基于脚本的模板系统,如 JSP、ASP、PHP,并且非常容易与 AJAX 技术集成。

该子系统在ActionView库中实现,该库是一个基于嵌入式 Ruby (ERb) 的系统,用于定义数据呈现的呈现模板。每个与 Rails 应用程序的 Web 连接都会导致视图的显示。

ActionView 有助于将演示细节与应用程序的核心业务逻辑分开。

控制器(动作控制器)

应用程序中引导流量的工具,一方面查询模型中的特定数据,另一方面将该数据组织(搜索、排序、整理)为适合给定视图需求的形式。

该子系统在 ActionController 中实现,它是位于 ActiveRecord(数据库接口)和 ActionView(表示引擎)之间的数据代理。

MVC框架的表示

这里给出了 Ruby on Rails 框架的图示 -

导轨框架

MVC框架的目录表示

假设在 Linux 上进行了标准的默认安装,您可以像这样找到它们 -

tp> cd /usr/local/lib/ruby/gems/1.8/gems
tp> ls

您将看到子目录,包括(但不限于)以下内容 -

  • 动作包-xyz
  • 活动记录-xyz
  • 轨道 xyz

通过 Windows 安装,您可以像这样找到它们 -

C:\>cd ruby\lib\ruby\gems\1.8\gems
C:\ruby\lib\ruby\gems\1.8\gems\>dir

您将看到子目录,包括(但不限于)以下内容 -

  • 动作包-xyz
  • 活动记录-xyz
  • 轨道 xyz

ActionView 和 ActionController 在 ActionPack 下捆绑在一起。

ActiveRecord 提供了一系列编程技术和快捷方式来操作 SQL 数据库中的数据。ActionController 和 ActionView 提供了操作和显示该数据的工具。Rails 将它们联系在一起。