写点什么

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

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

关注

评论

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

利用AI预测游戏中的潜在问题

测吧(北京)科技有限公司

测试

流量录制回放,不是银弹!

老张

流量录制 投入产出比

面试官:限流的实现方式有哪些?

王磊

Java 面试

SD-WAN解决企业组网中网络卡顿问题

Ogcloud

SD-WAN 企业组网 SD-WAN组网 SD-WAN服务商 SDWAN

香港游戏服务器的选择与配置:打造极致游戏体验

一只扑棱蛾子

游戏服务器 香港服务器 香港游戏服务器

数字先锋| 天翼云赋能汤房社区数字化“智”理,打造居民生活“幸福圈”!

天翼云开发者社区

云计算 云服务 云平台

如何为数据采集项目选择合适的API

Noah

SD-WAN案例:总部(MPLS)与分支(普通宽带)的互联互通

Ogcloud

SD-WAN 企业网络 SD-WAN组网 SD-WAN服务商 SDWAN

如何做代币分析:以 SHIB 币为例

Footprint Analytics

Token 代币

强大的数据分析计算软件:Stata 15 for Mac激活版下载

影影绰绰一往直前

游戏自动化测试框架与平台的模型驱动设计方法研究

测吧(北京)科技有限公司

测试

利用强化学习技术实现游戏自动化测试用例的智能生成

测吧(北京)科技有限公司

测试

The Grapes NFT 概览与数据分析

Footprint Analytics

区块链游戏 NFT

SD-WAN:三步轻松实现异地访问总部内网

Ogcloud

SD-WAN 企业网络 SD-WAN组网 SD-WAN服务商 SDWAN

智能化测试框架与平台的设计与实现:基于人工智能技术的创新

测吧(北京)科技有限公司

测试

掌握C语言指针,轻松解锁代码高效性与灵活性

快乐非自愿限量之名

编程语言 指针 C语言 开发语言

如何用二维码高效收集信息?表单功能轻松实现

草料二维码

二维码 表单 信息收集 草料二维码

鸿蒙Next升级是否有便捷的方法?

Geek_2305a8

服装品牌升级必备:智能商品计划管理系统带来的五大惊喜!

第七在线

拟人化智能自动化遍历

测吧(北京)科技有限公司

测试

DAPP算力质押NFT合约系统开发|项目方案|技术成熟

l8l259l3365

数字先锋| 变“制”为“智”!天翼云助力嵊州领航数字化烹饪时代!

天翼云开发者社区

人工智能 云计算

构建SatelliteRpc:基于Kestrel的RPC框架(整体设计篇)

EquatorCoco

C# .net 架构 框架 开发语言

从零开始学Spring Boot系列-Hello World

不在线第一只蜗牛

Java 架构 Spring Boot 后端

基于人工智能的游戏测试平台:提高测试效率与准确性

测吧(北京)科技有限公司

测试

基于知识图谱的游戏自动化测试用例推导与生成

测吧(北京)科技有限公司

测试

AI数字人SadTalker实战

不在线第一只蜗牛

AI 数字人 人工智能技术

鸿蒙应用成企业布局新方向 鸿蒙人才成开年之后“香饽饽”

最新动态

英特尔首推面向AI时代的系统级代工

E科讯

深度学习模型在游戏测试框架中的迁移学习研究

测吧(北京)科技有限公司

测试

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