网络应用程序开发框架-Rails
2010-11-17 14:22:13 阿炯

Ruby on Rails 是一个用于开发数据库驱动的网络应用程序的完整框架,Rails基于MVC(模型-视图-控制器)设计模式。从视图中的Ajax应用,到控制器中的访问请求和反馈,到封装数据库的模型,Rails 为你提供一个纯Ruby的开发环境。发布网站时,你只需要一个数据库和一个网络服务器即可。


Rails的设计原则包括「不要重复自己」(Don't Repeat Yourself)和「约定胜于配置」(Convention Over Configuration)。

Rails的运作模式

Rails框架是以固定的命名习惯来自动判断整个架构,预设下会将网址分析成 http://domain-name/ControllerName/ActionName/Attribute/ 然后执行目标Controller中的Action,并取出指定的View(视图)回传给浏览器显示。

面对资料库则以Model(模组)的形式,藉由Active Record作为与资料库之间的传输介面。

Rails的 MVC 架构
Ruby on Rails的模型-视图-控制器架构由以下各部分组成:

模型
模型包含着应用的状态,状态可能是临时的也可能是长久性保存在数据库中的。需要注意的是模型不仅包含数据,而且包含数据代表的逻辑。在 Rails 中,模型通常是由一些代表关系数据库中RDBMS表的类组成的。

在RoR中,模型类是通过Active Record模式进行处理的。一般来说,程序员要做的是继承ActiveRecord 类,同时程序会自动计算出要使用哪个RDBMS表,这个表有哪些列。表与表之间的关系通过简单的命令来指明。

控制器
控制器将用户界面和数据模型关联起来,并充当协调运作的角色。它接收各种用户操作,更新数据模型,并用合适的view展示结果给用户。象他的名字一样,可以说应用的主要控制中心就是各个控制器。

视图
View 负责根据 Model 中的数据显示用户界面。作为 web 应用,Rails 里的View通常是生成整个或者部分网页。当然可以是XML或者甚至是JavaScript代码。表现为使用内嵌Ruby的 HTML/XML/JavaScript 模板,

最新版本:4.2

此版本修复多个bug,更多更新内容请看发行说明

最新版本:5.0
主要更新内容
Action Cable
Action Cable是Rails处理WebSocket的全新框架。这是一个完全集成的连接管理解决方案,服务器端处理的通道层和客户端交互的JavaScript层。它非常容易使用,并使功能充满设计感,如聊天,通知和 Presence 都变得容易很多。

API mode
如果您使用rails new backend --api,创建一个新的Rails应用程序,你会得到一个精简的skeleton和配置。假设你会使用JSON,不是HTML。默认情况下,API mode 只是依赖于于模型类的#to_json# calls ,但是你可以使用JBuilder, Active Model Serializers,或看看新JSONAPI::Resources project来找到更先进的解决方案。


官方主页:http://rubyonrails.org/

中文参考:http://rubyonrailscn.org/

该文章最后由 阿炯 于 2016-07-02 21:33:34 更新,目前是第 2 版。