InfoQ

新闻

Rails2.0——新手指南

作者 Rick DeNatale 译者 马家宽 发布于 2007年12月29日 上午12时56分

社区
Ruby
主题
编程,
Ruby on Rails
标签
文档,
Ruby on Rails,
Rails插件

随着前些时候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
rails way or ruby way 发表人 eric ann 发表于 2008年1月1日 下午9时20分
rails2.0 发表人 xiao nangua 发表于 2008年1月17日 下午7时55分
  1. 返回顶部

    rails way or ruby way

    2008年1月1日 下午9时20分 发表人 eric ann

    这个好像是两本书吧。。。

  2. 返回顶部

    rails2.0

    2008年1月17日 下午7时55分 发表人 xiao nangua

    觉得应该讲解以下rails2.0 功能测试方面的东西,最好举例说明以下更好!

深度内容

和Google互补的搜索引擎Wolfram|Alpha

Wolfram|Alpha与Google究竟是什么关系,Wolfram|Alpha自己是如何定位的?Wolfram|Alaph在多大程度上是语义网搜索呢?InfoQ中文站就等等这些问题采访了Wolfram研究公司中国区商务经理王翔。

SOA契约成熟度模型

本文说明了所推荐的契约版本管理设计策略是如何与SOA成熟度模型发生联系的。文章目的是为实现版本管理和可组合性提供一个路线图。

数据服务简介

Vijay Narayanan在这篇文章中对数据服务的几个方面进行了介绍,它们都是SOA实践者和数据架构师感兴趣的内容。本文对数据服务的几个方面进行了介绍,包括需求定义,基本原理和好处、范围、开发以及消费模式。

分块云计算

在本文中,Jimmy Nilsson描述了一种他在过去数年间观察到的一种正在缓慢成长的架构风格,他把这种风格称为“分块云计算”。

豆瓣网技术架构变迁

罗马不是一天建成的,豆瓣的技术架构也是随着用户规模的增长一直在持续变化中。在本次演讲中,豆瓣的首席架构师洪强宁将与大家一起分享从上线时的单台服务器架构开始一直到现在的豆瓣架构变迁历程。

融合思想:深入探索S#arp架构

Billy McCafferty展示了S#arp架构,它在ASP.NET MVC框架的基础上,荟萃了当今的最佳实践,应用在ASP.NET Web应用程序的架构设计中。

王雷谈开源以及新兴市场计划

中国作为新兴市场中的新兴市场,是Sun在美国之外实施SSE(SUN Startup Essentials)项目重点关注的地区。在QCon Beijing 2009期间,InfoQ中文站有幸对此项目的负责人王雷先生进行了采访,探讨了关于开源、新兴市场、SSE等话题。

使用HTML5构建下一代的Web Form

HTML5 是由 WHATWG发起的,最开始的名称叫做Web Application 1.0,而后这个标准吸纳了Web Forms 2.0的标准,并一同被W3C组织所采用,合并成为下一代的HTML5标准。