RubyOnRails程序开发

Ruby on Rails(简称ROR)是一种结合Ruby语言与Rails平台的一种网页编程语言,Ruby语言以自然、简洁、快速著称,全面支援面向对象程序设计,而Rails框架则是基于Ruby广泛应用方式之一,在Rails平台上设计出一套独特的MVC开发架构,采取模型(Model)、视图(View)、控制器(Controller)分离的开发方式,不但减少了开发中的问题,更简化了许多繁复的动作。

在ROR诞生后,MVC的设计理念深入Web开发的各个领域,诞生了Cakephp,ZendFramework等很多其他语言的MVC开发框架.

Rails的 MVC 架构

  • 模型(model)包含着应用的状态,状态可能是临时的也可能是长久性保存在数据库中的。需要注意的是模型不仅包含数据,而且包含数据代表的逻辑。在 Rails 中,模型通常是由一些代表关系数据库中RDBMS表的类组成的。
    在RoR中,模型类是通过Active Record模式进行处理的。一般来说,程序员要做的是继承ActiveRecord 类,同时程序会自动计算出要使用哪个RDBMS表,这个表有哪些列。表与表之间的关系通过简单的命令来指明。
  • 控制器(controller)将用户界面和数据模型关联起来,并充当协调运作的角色。它接收各种用户操作,更新数据模型,并用合适的view展示结果给用户。象他的名字一样,可以说应用的主要控制中心就是各个控制器。
  • 视图层(view) 负责根据 Model 中的数据显示用户界面。作为 web 应用,Rails 里的View通常是生成整个或者部分网页。当然可以是XML或者甚至是JavaScript代码。表现为使用内嵌Ruby的 HTML/XML/JavaScript 模板。

Rails 的组成模块

  • 模型:ActiveRecord实现了Rails的对象关系映射。
  • 控制器和视图:ActionPack
    ActionController 是Rails中的控制器,提供各种方法供用户操作使用。
    ActionView 是Rails中的视图,负责展现用户界面。
  • 常用实用工具:ActiveSupport包提供一些工具和支持代码。
  • 处理邮件:ActionMailer 用来发送和接收 email。
  • Web服务:ActionWebService 来提供 SOAP 和 XML-RPC 支持。需要注意的是,Rails 趋向使用更加简单明了的 REST 方式 web 服务而不再提倡 SOAP 格式的web服务。ActionWebServices 在未来的版本里面会逐步淡出。
  • 网络资源:ActionResource用 REST 对 Web 服务提供了优秀的支持。这种风格的 Web 服务使用指定的资源。

Ruby On Rails 运行示意图

Ruby on Rails 运行示意图

Ruby on Rails 运行示意图