InfoQ

InfoQ

新闻

我的书签

登录注册 以永久保存书签。

该内容已经被标记书签!

标记书签错误,请重试!

Rails2.0——新手指南

作者 Rick DeNatale 译者 马家宽 发布于 2007年12月29日

领域
架构 & 设计,
语言 & 开发
主题
Ruby ,
Ruby on Rails ,
编程
标签
Rails插件 ,
Ruby on 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 发表人 ann eric 发表于
rails2.0 发表人 nangua xiao 发表于
  1. 返回顶部

    rails way or ruby way

    发表人 ann eric

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

  2. 返回顶部

    rails2.0

    发表人 nangua xiao

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

深度内容

大规模视频网站的计费与流量管理

本次分享将会就大规模视频网站的计费与流量管理这个话题,从操作层面细细进行讲解和分析,为系统工程师们揭示平日里我们没有关心的另一些内容。同时也希望本次分享能揭示行业中的一些“潜规则”,让互联网行业的流量与带宽管理更为开放与简洁。
本次演讲视频录制于QCon杭州2011

专访Jeffrey Richter:Windows 8是微软的重中之重

Jeffrey Richter以其多本Windows核心技术的经典著作而闻名,同时,他深入掌握微软的.NET等一系列核心技术,2012年1月,Jeffrey Richter在北京接受了InfoQ中文站的专访,谈到Windows 8和WinRT编程,并就异步编程、Windows编程中的可扩展性、性能和安全性方面给出自己的建议。

应用云平台的可用性——从新浪SAE看云平台设计

云计算平台的可用性,相比传统互联网服务而言,更加复杂和困难,也更具有挑战性。本文借助新浪SAE云平台为读者讲述了云平台可用性的定义、如何打造高可用的平台,以及对云计算的用户提出了建议。

JVM定制改进 @ 淘宝

淘宝高度重视Java平台的健康发展,组建了一个团队专注于Java平台的底层部分的性能、功能与稳定性改进;工作主要基于OpenJDK中的HotSpot VM开展,其中一些通用的功能随后也会逐渐反馈给OpenJDK社区。希望能与使用Java平台开发应用的大家交流经验。
本次演讲视频录制于QCon杭州2011

"伤得起"的云计算应用——对云端应用之架构的思考

2011年4月21日至22日是值得云计算从业者纪念的日子。Amazon的IaaS服务出现故障,导致许多商业网站的服务中断,影响非常严重。作为云计算用户,我们需要思考的是,如何保证即便在云服务不可用的情况,我们的应用架构仍然能够屹立不倒?本文正是站在云计算用户的角度试图探讨这一问题。

让交付的速度跟上思考的速度

12人的技术团队,4组刀片服务器,每月20亿的访问量,每日1次准时部署,99.9%的可用性。这可能吗?当然。想知道如何做的吗?百姓网将与您分享他们在DevOps实践过程中的经验和技巧。
本次演讲视频录制于QCon杭州2011

架构之路——穿行在产品和业务之间

篱笆作为一家起源于社区的电子商务公司,反映到技术层面就是同时要面对产品和业务,以及经营战略的变化调整。如何在产品和业务的夹缝之间完成技术架构的抽象与平衡,寻找更有效的价值定位,这当中有些经验教训和个人感悟愿与众人分享。
本次演讲视频录制于QCon杭州2011

特性注入:成功三部曲

本文将对特性注入以及相关方法做一个扫盲性的介绍。我们会解释这个框架的关键要素,并附上实例来证实它们。为了让文章保持相对较短,我们不会深入到某个工具或方法中,而是会给出一些参考资料,以便大家做进一步的研究。