写点什么

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:561871
用户头像

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

关注

评论

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

hive交互的几种方式

五分钟学大数据

大数据 hive 5月日更

BOE(京东方)亮相世界智能大会 创新科技强势发力智慧物联新赛道

DT极客

从外包跳槽到大厂,我用了55天成功逆袭。

Java 程序员 架构 面试

发布两小时,Github访问量破百万,阿里内部首次公布的 Java10W 字面经有多强?

Java 程序员 架构 面试

夺魁!亚马逊云科技荣膺中国数据管理解决方案领导者!

亚马逊云科技 (Amazon Web Services)

打破固有思维(十四)

Changing Lin

区块链技术在数字农业领域的应用挑战

CECBC

一款开源小工具,提升K8S资源管理幸福感!

Rancher

架构训练营模块 4 作业 - 江哲

江哲

Flink的广播变量

大数据技术指南

大数据 flink 5月日更

一款优秀数据库中间件的不完全解析

Coder的技术之路

源码阅读 源码刨析 数据库中间件

比特币披萨节由来:11年前BTC首次在现实世界使用

meio

比特币

博睿数据多点开花,数据链DNA加速走进金融、医疗、政企行业

博睿数据

数据链DNA

【签约计划】试用期规则

InfoQ写作社区官方

签约计划 热门活动

医疗数字化:区块链或成最强辅助

CECBC

医疗

ArrayList vs LinkedList

ltc

ArrayList linkedlist

API网关才是大势所趋?SpringCloud Gateway保姆级入门教程

Zhendong

Java spring API 网关

指挥中心可视化研判分析系统搭建解决方案

2021年4月券商App行情刷新及交易体验评测报告

博睿数据

NetCore配置文件使用全过程

happlyfox

520单身福利

SWOT分析模型

石云升

创业 战略 职场经验 5月日更

指挥中心可视化研判分析系统搭建解决方案

亚马逊云科技宣布在上海设立生命健康行业数字化赋能中心

亚马逊云科技 (Amazon Web Services)

4月热搜:揭秘金融级人脸实名认证解决方案背后的技术硬货

百度大脑

百度

5分钟速读之Rust权威指南(六)

wzx

rust

Flutter 混合开发基础

网易云信

flutter

并发王者课 - 青铜 2:峡谷笔记 - 简单认识Java中的线程

MetaThoughts

Java 后端 多线程 并发 王者并发课

HarmonyOS 的分布式技术,让小朋友爱上涂鸦

科技汇

数字货币与加密货币、虚拟货币的区别

meio

比特币 数字货币 加密货币 虚拟货币

IPFS与 Filecoin的区别是什么?

meio

IPFS Filecoin

全面隔绝虚拟货币暴涨暴跌风险

CECBC

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