GMTC全球大前端技术大会限时9折特惠中,点击立减¥480 了解详情
写点什么

Rails2.0——新手指南

2007 年 12 月 29 日

随着前些时候 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

2007 年 12 月 29 日 00:561081
用户头像

发布了 24 篇内容, 共 21938 次阅读, 收获喜欢 0 次。

关注

评论

发布
暂无评论
发现更多内容

企业BI智能大屏,除了页面炫酷,还能带来什么?

力软.net/java开发平台

企业信息化 BI 数据可视化

《深度工作》学习笔记(4)

石云升

学习 读书笔记 习惯 专注 深度工作

应用开发基础知识-文件系统

superman

文件系统

百度安全研究院:区块链智能合约介绍

百度安全

比特币 区块链 智能合约 以太坊

消息队列面试热点一锅端

yes

kafka 面试 RocketMQ 消息队列

湾区金科沙龙,华青融天技术总监吴伟平详解旁路式应用性能监控

DT极客

我是如何写读书笔记的

dd多了个多

读书笔记

前端面试vue部分(1)——谈谈你对MVVM的理解

dd多了个多

面试 Vue 前端 Web

一位区块链产品经理讲述“区块链”的通知 重点方向包括区块链安全

CECBC区块链专委会

物联网 区块链技术 联盟链

前端面试 vue 部分 (2)——Vue是如何实现双向绑定的

dd多了个多

面试 Vue 前端 Web

垃圾回收

Mr.Monkey

第九周总结

andy

读书时,如何提炼文章架构形成思维导图

dd多了个多

读书笔记 读书感悟

读书,区分一二三四手知识

dd多了个多

读书笔记

大厂的人才衡量标准

池建强

人才标准

VIPKID 在线教育场景下的实时计算技术落地和实践

Apache Flink

flink

什么是零代码?零代码开发可以带来的好处

代码制造者

可视化 零代码 编程效率

起伏激荡的以太网,抱上这条大腿才能乘风破浪

脑极体

写作平台划线笔记新功能全新上线!给你带来不一样的写作学习体验~

InfoQ写作平台官方

写作平台 玩转写作平台

作业1

chenzt

架构师训练营第9周

大丁💸💵💴💶🚀🐟

周子衡 | 数字资产、数字支付及跨境活动——以美元数字化为例

CECBC区块链专委会

加密货币 数字资产

Kafka集群缩容实战

我是个bug

大数据 kafka 运维 Big Data

架构训练营第九周作业

张锐

1.8w字 | 初中级前端 JavaScript 自测清单 - 2

pingan8787

Java 前端

Java 垃圾回收

dongge

总结

chenzt

JVM 垃圾回收原理

周冬辉

第九周作业

andy

极客大学

秒杀系统的挑战和应对方案

2流程序员

汇丰坠落:世间已无「日不落」

钛禾产业观察

汇丰 财经

Rails2.0——新手指南-InfoQ