Qwen3 惊喜上线阿里云百炼,8款模型全开源!点击免费领取 800万 tokens! 了解详情
写点什么

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

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

关注

评论

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

详解ZooKeeper在微服务注册中心的应用

华为云开发者联盟

开源 开发 华为云 华为云开发者联盟

我们为什么要标准定价?如何定价?

菜根老谭

产品经理 产品标准化

产品经理该不该设计数据库表?

菜根老谭

中手游全面启动鸿蒙原生游戏开发,为游戏产业发展注入新活力

新消费日报

软件测试/测试开发/人工智能 | 测试管理核心问题,提升管理实力!

测试人

人工智能 软件测试 测试开发

【写作训练营打卡|10】内容创作方式

每日一题:LeetCode-394. 字符串解码

Geek_4z9ami

Go 算法 递归 LeetCode 字符串

支持GPU虚拟化的云桌面厂家有哪些?

青椒云云电脑

云桌面 云桌面厂家

大模型之提示工程的使用与总结 主赛道:技术人的 2023 总结

Echo_Wish

技术 年度总结 大模型 2023 提示工程

文心一言 VS 讯飞星火 VS chatgpt (160)-- 算法导论12.4 2题

福大大架构师每日一题

福大大架构师每日一题

智能引领决策:人工智能在决策支持系统中的崭新角色

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

测试

软件测试/测试管理圆桌讨论会 | 解锁测试管理的核心问题,提升您的管理实力!

霍格沃兹测试开发学社

大语言模型训练数据常见的4种处理方法

华为云开发者联盟

人工智能 华为云 华为云开发者联盟 大语言模型

华为云多活高可用服务MAS荣获“2023年香港星光奖“

华为云PaaS服务小智

云计算 华为云

大模型训练:提高AI能力的重要策略

百度开发者中心

人工智能 大模型

独家好书丨《智算时代的容器技术演进与实践》免费下载

阿里巴巴云原生

阿里云 云原生 容器服务

Java基础知识:快速入门指南

技术冰糖葫芦

API

测试开发 | 量子计算与人工智能的奇妙交融:开启全新计算时代

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

测试

测试开发 | 数据分析与智能训练:体育领域的技术革新

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

测试

测试开发 | 人工智能的未来发展:科技新时代的奇迹之旅

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

测试

测试开发 | 创造性领域中的计算机生成艺术

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

测试

火热的低代码,蕴藏怎样的机会和挑战?

互联网工科生

软件开发 低代码开发 JNPF

测试开发 | 数字化创新在文化保护中的崭新探索

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

测试

用AI为AI PC打造最强内核,英特尔是怎么做到的?

E科讯

E往无前 | 腾讯云大数据ES日志轻接入和免运维最佳实践

腾讯云大数据

ES

产品破局思考:一个思维,一种策略

菜根老谭

大模型实践 | 为慧眼智能可观测平台插上ChatInsight的翅膀

网易数帆

可观测性 网易 大模型 AIGC ChatInsight

MegEngine 优化 dataloader 使用体验!data monitor 帮助更好定位性能瓶颈

MegEngineBot

性能优化 Data 开源框架

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