写点什么

Rails2.0——新手指南

  • 2007-12-29
  • 本文字数:1242 字

    阅读完需:约 4 分钟

随着前些时候 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:561712
用户头像

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

关注

评论

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

【云成本】降低云成本三大技巧你知道吗?

行云管家

云计算 企业上云 云成本

易用好用的云管平台看这里!行云管家杠杠的!

行云管家

云计算 企业上云 混合云 云管平台

爆测一周!22年必看最细致代码托管工具测评

阿里云云效

阿里云 云原生 代码管理 代码托管 Codeup

深入浅出Apache Pulsar(2):Pulsar消息机制

云智慧AIOps社区

博文推荐|Apache Pulsar: 统一消息流平台

Apache Pulsar

开源 云原生 broker Apache Pulsar 消息中间件

Spring的底层实现机制

编程江湖

Spring JPA

在线XML转HTML工具

入门小站

工具

Committer 郭吉伟专访:做开源不是搞慈善,用开源也不是薅羊毛

Apache Pulsar

开源 架构 云原生 中间件 Apache Pulsar

技术干货 | NeCodeGen:基于 clang 的源到源转译工具

网易云信

前端 Clang

博文推荐|基于 Apache Pulsar 的分布式锁

Apache Pulsar

开源 分布式 云原生 中间件 Apache Pulsar

大数据开发之Flink SQL建设实时数仓实践

@零度

大数据 flink sql

网络安全kali渗透学习 web渗透入门 Kali系统的被动信息收集

学神来啦

操作指南|最详尽文档翻译志愿指南

Apache Pulsar

开源 翻译 云原生 Apache Pulsar 社区

详解 Flink 中 Time 与 Window

五分钟学大数据

flink 1月月更

老牌安全厂商海泰方圆加入龙蜥社区

OpenAnolis小助手

Linux 开源 社群运营

一文看懂:工程项目管理软件有哪些?怎么选?

优秀

项目管理软件

【实时渲染】3DCAT实时渲染云在BIM领域的应用

3DCAT实时渲染

云计算 渲染 BIM 建筑

Form 表单在数栈的应用(下):深入篇

袋鼠云数栈

前端

netty系列之:channel和channelGroup

程序那些事

Java Netty 程序那些事 1月日更

研效优化实践:WeTest提效测试

WeTest

线程的生命周期,真的没那么简单

华为云开发者联盟

Java 线程 生命周期 编程语言线程

Linux之date命令

入门小站

Linux

架构训练营 week5 课程总结

红莲疾风

「架构实战营」

【行业云说】云数底座赋能基层治理现代化

云计算运维

APP违法使用个人信息?不用怕,华为云VSS为你保驾护航

华为云开发者联盟

移动应用 安全 漏洞 隐私合规 华为云VSS漏洞扫描服务

Flume日志采集框架构成组件

编程江湖

flume

SPARK 应用如何快速应对 LOG4J 的系列安全漏洞

明哥的IT随笔

spark CDH

视频智能生产及内容分析应用工具开源了!​

百度大脑

人工智能

带你读AI论文丨RAID2020 Cyber Threat Intelligence Modeling GCN

华为云开发者联盟

网络威胁情报 CTI 异构信息网络 GCN HINTI

前端开发之样式调试

@零度

前端开发

基于 PTS 压测轻松玩转问题诊断

阿里巴巴云原生

阿里云 云原生 压测 问题 PTS

Rails2.0——新手指南_Ruby_Rick DeNatale_InfoQ精选文章