Rails2.0——新手指南

随着前些时候Rails2.0.0和2.0.1版本的发布,以及这两天Rails2.0.2的迅速后继,为Rails提供支持的讨论组充满了Rails新手关于使用一些知名教程,例如Dave Thomas和David Heinemeier Hansson撰写的《Agile Web Development with Rails》时所出现的问题。Thomas/Hansson的书,通常被简称为AWDR,已经在一年前推出了第二版,但仅仅包含了Rails 1.2的内容。

虽然比起Rails 1.2和Rails 1.1,Rails2.0和其前辈Rails1.2之间的变化并不像前二者那么显著,但对于那些毫无防备的初学者,Rails进阶之路仍然陷阱重重。

Rails2.0的目标之一是让Rails框架变得更加简洁。这意味着原来的一些标准特性被从框架内核中移到了插件中。对于那些使用1.2版本教程的用户来说,这可能是一个障碍。下面是两个例子:

  1. 由于MySql一直是Rails的默认之选,许多教程都使用MySql作为数据库。不过现在,Rails2.0.3将缺省的数据库配置改为了Sqlite3。AWDR在书的后面部分介绍了如何使用Sqlite3,但一个从头开始看书的新手可能还没有在遇到数据库方面问题时获得足够多的相关知识。
  2. AWDR的开始部分使用了Rails的动态脚手架,而这一特性现在只有在安装了scaffolding插件后才能使用:
              script/plugin install scaffolding 
    Rails2.0中像这样“丢失”的特性还包括AJAX的本地编辑(in-place-editing)和自动完成(auto-completion),以及一些著名的acts_as_x模型扩展。一些按照过时教程学习Rails的人可以尝试运行下面这句命令:
              script/plugin list 
    来查看是否某些可用的插件提供了那些被从Rails2.0内核中移出的特性。
另一个方法是使用Rails1.2.6来学习教程,然后迁移到2.0版本。首先安装Rails1.2.6:
    gem install rails --version 1.2.6 
然后您可以删除所有已安装的rails 2.0.x gems,或者在生成项目时指明要使用的Rails版本:
    rails _1.2.6_ my_rails_project 

大多数gems所安装的指令其实是对gem中代码调用的包装,所以您可以在版本号的开始和结束处加下划线,将其作为第一个参数,以此来指定所使用gem的版本。

市面上已经有一些介绍Rails2.0的书籍,例如Obie Fernandez所编写的The Rails Way。不过迄今为止他们似乎都致力于面向那些已经拥有一定Rails经验的读者。毫无疑问,在不久的将来,一些“经典”的Rails书籍会更新到Rails2.0,而在新面世的Rails教程中也会用涌现出经典之作。

由此来看,Rails初学者可以选择尝试解决同时使用旧版本教程和新版本框架所产生的问题,也可以继续使用与教程配套的旧版本Rails,直到相关知识技能达到一定程度后再更新Rails的版本。对于广大初学者来说,也许后者是一个更为明智的决定。

查看英文原文: Rails 2.0 - What's a Newbie to Do? 译者简介:马家宽,北京大学软件工程实验室博士研究生,研究方向为过程管理(Process Management)。专业方面的目标是领悟一点软件开发中理论、技术、实践和人这些关键要素的结合之道。参与InfoQ中文站内容建设,请邮件至 china-editorial[at]infoq.com。

你可能感兴趣的:(Rails2.0——新手指南)