Ruby on Rails
维基百科,自由的百科全书
Ruby on Rails, 也称 RoR 或简称 Rails, 是一个使用Ruby语言写的开源网络应用 框架,它是严格按照Model-View-Controller (MVC) 结构开发的。它努力使自身保持简单,来使实际的应用开发时的代码更少,使用最少的配置。
Rails的设计原则包括“不要重复自己”(Don't Repeat Yourself)和“约定优于配置”(Convention Over Configuration)
目录 |
[编辑] Rails的 MVC 架构
Ruby on Rails的模型-视图-控制器架构由以下各部分组成:
[编辑] 模型
在面向对象、数据库驱动的MVC Web应用中,模型是由一些代表RDBMS表的类组成的。
在RoR中,模型类是通过Active Record模式进行处理的。一般来说,程序员要做的是继承ActiveRecord
类,同时程序会自动计算出要使用哪个RDBMS表,这个表有哪些列。表与表之间的关系通过简单的命令来指明。
[编辑] 控制器
控制器以其抽象形式执行应用程序的逻辑。也就是说,应用程序的 app/controllers/ 目录中的 Ruby 脚本能把模型数据导入为变量,保存回去,或对其进行修改和处理。不过,控制器不关心用户如何适当地显示或者输入数据。在通常的 MVC 模型中,这可以让用户能够以多种方式与同一控制器进行交互:本地 GUI, Web 界面,以及视力较弱的人使用的语音界面都可以与相同的控制器进行交互。
不过,Rails 不像那样非常通用;相反,它仅局限于在 Web 页中提供和收集数据。虽然如此,但是您可以修改那些 Web 页的布局 —— 颜色、字体、表格、样式表单,等等 —— 与控制器代码无关。
摘自: http://www-128.ibm.com/developerworks/cn/linux/l-rubyrails/
[编辑] 其它模块
除了以上提到的,Rails 还提供一些其它的模块,像 Action Mailer 用来发送 email 和 Action Web Service 来提供 SOAP 和 XML-RPC 支持。
[编辑] Rails中的AJAX
一个称为 AJAX的独立的技术,可以通过浏览器使用JavaScript 和 XML来处理查询,而将Web服务器作为后台来处理,这样无须载入额外的网页。这个技术已经和Ruby on Rails结合在了一起成为了一个新的系统叫做“Ajax on Rails”。Rails 提供一些助手工具来更方便地实现AJAX应用。
[编辑] Web服务器支持
对于开发和测试来说,一个很轻量的 WEBrick web 服务器已经被包含在了 Ruby 中,常被用来作为应用服务器。而对于生产应用,常推荐使用带FastCGI 的Apache 或者 Lighttpd,但任何支持CGI或者FastCGI都可以使用。在Apache上,mod_ruby也可以考虑用来提高性能。
[编辑] 数据库支持
由于Rails的架构十分要示使用数据库,所以推荐使用一个RDBMS系统来进行数据存储,若不能运行一个RDBMS服务器,Rails也支持SQLite库。很多RDBMS系统都支持,包括MySQL, PostgreSQL, SQLite, DB2, Oracle 和 SQL Server
[编辑] 系统要求
- Web服务器,如Apache,lighttpd等。
- Fast CGI,为了提高效率
- 数据库和驱动程序
[编辑] 类似的技术
- CakePHP
- Django
- TurboGear
[编辑] 外部链接
[编辑] 参考站点
- Ruby on Rails台灣官方網站
- RailsCN
- Ruby On Rails项目首页
- Onlamp.com的Ajax on Rails
- Fast-track your Web apps with Ruby on Rails (David Mertz article at IBM developerWorks)
- Ruby on Rails 和 J2EE:两者能否共存?]
- 道喜技术日记首页