Rails 的相关感想
RESTful Ruby on Rails -- 美丽与复杂
在写《基础Ruby on Rails》的底稿的时候,我烦恼于把 Rails 1.2 的核心 REST 放在什么位置。
如果 Rails 真的向着 REST 发展的话,那么在这篇文章里不是也应该把 REST 放在前面着重突出吗?
结果在最后的第九章里补上 REST,把九章以前一点一点生成的示例程序一口气用 REST 进行了改写。
虽然也知道第九章自始至终都在机械地讲程序的改写有一点无聊,但是至今我也不认为这是错误的决定。
对于长时间进行 Web 开发的各位来说,可能理解 MVC 架构是得心应手的事情,但对于初学者来说这却是相当难的。用一句话来说就是太抽象。如果再加一个REST,就变得更抽象难解了。
那么,就可能会有这样的疑问,为什么使用 Ruby on Rails 会令人如此愉悦?
在 CGI 程序和 PHP 脚本的情况下,URL (除去参数后部分)和服务器端的程序大概是1对1的。基本上 URL 是指向服务器文件系统上的特定的路径。
然而,Rails 的 MVC 架构里存在着“路由”,从 URL 模式开始,“动作”便被指定并运行。CGI 程序和 PHP 脚本的情况下能够清晰想象的“处理HTTP 请求的场所”则变得难以理解。
尽管如此,在到 Rails 1.1 为止的非 REST 世界中,URL 中还包含着动作的概念。删除 ID=99 会员的 URL 是 /members/destroy/99 。但是,在 RESTful 的世界里变成了 /members/99。对这个 URL,是通过 HTTP 的 DELETE 方法请求的。这已从 URL 中排除了动作的概念。
这是简单而美丽的世界,但是为了享受这种美好,必须具有一定的素养和经验。
此外,要充分展示 REST 世界的美丽和实用性的话,即使是对于进行说明的一方也需要好好准备。
至少当时我是没有准备好的。
--
黒田努
(2008/04/23)
- 前言
- Rails是否能成为企业领域的主流 (2008/03/29)
- Rails 2.0 测速 (2008/03/30)
- 测试驱动开发和调试代码 (2008/04/07)
- Git or Mercurial (2008/04/22)
- RESTful Ruby on Rails -- 美丽与复杂 (2008/04/23)
- RESTful Ruby on Rails -- 单数与复数 (2008/04/24)
- 读 Rails 的源码 (2008/05/02)
- sudo: no passwd entry for app! (Capistrano 2.3.0) (2008/05/12)
- Rails on GlassFish (2008/06/18)
- 怎样回答“Ruby 没有类型声明,在规范的系统里能使用吗?”这样的问题 (2008/11/23)
- 怎样回答“Ruby是脚本语言,不是有点慢吗”这样的问题 (2008/11/24)
- 哪种编程语言将来有前途 (2009/01/10)
- 哪种框架将来有前途 (2009/01/11)
- 框架 VS CMS (2009/01/12)
- Rails 2.3 spawner/reaper 变为 DEPRECATED (2009/03/25)
- db/seeds.rb (2009/06/08)
- LESS与Sass (2009/08/03)
- Rails 2.3.4 与 I18n (2009/08/15)

