50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

Rails 2.3.2 发布,带有众多更新

  • 2009-03-20
  • 本文字数:1922 字

    阅读完需:约 6 分钟

Ruby on Rails 团队发布了最新版的 Rails——Rails 2.3.2。Rails 2.3.2 是在 Rails 2.2 发布后几个月出来的,进行了很多重要的更新,这对于所有 Rails 开发者来说实在是天大的喜讯。

相比于之前的版本,此次发布的 Rails 的更新数量都创下了历史之最。请参看 Rails 2.3 发布说明来了解完整的更新列表。可以使用如下命令完成安装:

gem install rails

发布说明指出 Rails 2.3.2:

无论你使用的是 Ruby 1.8 还是新发布的 Ruby 1.9.1,Rails 2.3 都可以通过自带的所有测试。

应用架构

Rack 支持

Rails 获得了 Rack 支持,这样就可以对 Web 服务器和 Web 框架使用标准的 API 了。

Rails 在一定程度上简化并重写了 script/server 的基础架构。过去在 script/server 中支持的服务器列表已经不见了,取而代之的是 Rails 现在依靠 Rack 了,同时 script/server 也采取了这种做法——这意味着 Rails 能够支持 Rack 所支持的任何服务器了。

Rails Engines

考虑到将一个 Rails 应用嵌入到另一个 Rails 应用中,Rails Engines 并没有进行什么更新。

Rails 文档

尽管在通常情况下,我们并不将文档看作是产品发布的一个特性,但 Rails 的发布却对开发者所用文档的方方面面都进行了更新。文档通常都是很多开源项目最后要完成的东西,而且也是做的最差的一部分,但 Rails 团队却付出了极大的努力以向开发者提供真正优秀的文档。

值得注意的是,Rails 文档的很多改变和更新都来自于其核心团队与新成立的 Rails Activists

RDoc

  • 对语法问题提供即时帮助
  • 由实际的核心开发者维护,更新及时

Rails 指南

  • 对特定的问题领域提供了集中的“如何使用”帮助: http://guides.rubyonrails.org/
  • 面向中级的开发者,他们可能具有 Rails 经验
  • 拥有众多高质量的资料
  • 随着 Rails 的变化而持续更新
  • 拥有特定于版本的指南代码示例
  • 作为核心 Rails 的一部分发布,为新人提供“近距离指导”

Rails 图书

  • 提供高层的架构指导以及各模块的宏观视图
  • 深度挖掘“Rails Ways”的哲学,这样读者就会清楚框架的工作机理
  • 面向 Rails 新人以及那些想更上一层楼的读者
  • 对 Rails 的概念及如何在 Rails 3 的各个模块(ORMs、routing DSLs 等)之间进行选择提供帮助
  • 利用 Merb 在同声传译上的经验并吸收其他作者的贡献
  • 最大可能的版本独立
  • 以独立的指南所没有提供的端到端的文档方式给出结构化的路线图

Rails Wiki

  • 能够对新软件和问题进行快速响应的社区驱动的文档
  • 能够链接到外部信息的优良的知识库
  • 可以展示 Rails
  • 可以放置不断积累的社区知识,甚至是不经常使用的那些东西

Active Record 更新

该发布中有很多 Active Record 更新,包括嵌套事务的引入

  • 嵌套属性
  • 嵌套事务
  • 动态范围
  • 默认范围
  • 批处理
  • 多种回调条件
  • 使用 having 进行查找
  • 重新连接 MySQL

Action Controller 变化

  • 支持统一的渲染
  • 支持应用控制器的重命名
  • 支持 HTTP 摘要认证
  • 更高效的路由
  • 基于 Rack 的延迟加载的 Session
  • 改变了 MIME 类型的处理
  • 优化了 respond_to
  • 改进了缓存性能
  • 本地化视图
  • 局部转换

Action View 变化

  • 嵌套的对象表单
  • 智能的局部渲染
  • 日期选择助手
  • AssetTag Timestamp 缓存
  • 将主机作为对象
  • <span face="Courier New"> 增加了 grouped_options_for_select</span> 辅助方法
  • 为表单的 select 增加了禁用选项

Active Support 变化

Active Support 的一些变化让人赏心悦目,其中包括新的 Object#try。

  • Object#try
  • Object#tap Backport
  • 针对 XMLmini 可交换的解析器
  • 为 TimeWithZone 增加了毫秒级别支持
  • JSON 关键字引用

Railties

本节介绍的一些 Rails 更新更有意思。

  • Rails Metal

Rails Metal 是在 Rails 应用中提供超快速端点的一种新型机制。Metal 类会绕过路由与 Action Controller,这样速度就会大大加快(当然其代价是让 Action Controller 处理一切)。它构建在最近的一些基础工作之上——让 Rails 成为 Rack 应用,同时公开中间件栈。我们可以从应用或插件中加载 Metal 端点。 更多信息:

  • 应用模板

Rails 2.3 合并了 Jeremy McAnally 的 rg 应用生成器。这意味着 Rails 现在拥有了基于模板的应用生成器;如果每个应用中都有不少插件,那么你可以建立一个模板,然后就可以在执行 rails 命令时不断重用了。还有一个名为 rake 的 task 可以将模板部署到现有应用中: rake rails:template LOCATION=~/template.rb

这样无论项目的代码如何,我们都可以根据模板将改变划分开来。

  • 输出更少的 Backtraces
  • 借助于延迟加载和自动装载实现的开发模式下的更快启动时间
  • 重写了 rake gem Task

请参看 Rails2.3 发布说明以了解本次发布的详细信息。与此同时还有不少反对的声音,我们也应该仔细考虑这些意见以让应用升级更平缓一些。

查看英文原文: Rails 2.3.2 Arrives with Many Updates

2009-03-20 06:192301
用户头像

发布了 88 篇内容, 共 272.4 次阅读, 收获喜欢 9 次。

关注

评论

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

商品中心—商品溯源系统的技术文档

量贩潮汐·WholesaleTide

架构

6月27日-28日 AICon 北京站,我们在展位等您来!

MatrixOrigin

100万QPS短链系统如何设计?

不在线第一只蜗牛

数据库

创世伙伴创投梁宇:技术公司要具备商业化视角,警惕新评价体系的范式变革

Xue Liang

《HarmonyOSNext应用崩溃自救指南:零数据丢失的故障恢复黑科技》

Turing_010

外包人员违规访问致使 4 万条数据泄露,金融机构如何实现访问可控、数据不裸奔?

原点安全

数据安全 金融外包 金融数据安全解决方案 数据安全厂商 一体化数据安全平台

轻帆云ITSM智能知识库,助力企业运营创新与服务价值提升

云智慧AIOps社区

ITSM 工单系统 企业知识库

在使用Flink CDC时,源表没有主键如何处理

天翼云开发者社区

低代码开发×物联网:技术融合下的智能系统架构设计与行业实践路径

电子尖叫食人鱼

低代码 物联网

【7 月 5 日北京】2025 IoTDB 用户大会,科研学术分论坛深度解密!各大教授最新研究等你来听

Apache IoTDB

程序员必冲!飞算 JavaAI 炫技赛,当甲方、赢好礼

飞算JavaAI开发助手

构建根技术生态新引擎,全栈赋能云端生产力

华为云开发者联盟

打通数据孤岛:基于对象存储的多云可观测融合实战

阿里巴巴云原生

阿里云 云原生 日志服务

Swift Publisher 5|2000+模板搞定印刷/电子出版

柠檬与橘子

PhotoMill X for Mac(图片批量处理工具)

Geek贝

如何通过ETL进行数据抽取工作

谷云科技RestCloud

数据库 数据处理 ETL 数据集成 数据抽取

如何通过ETL把StarRocks中的数据同步到数仓

谷云科技RestCloud

数据库 数据同步 数仓 ETL StarRocks

HBase Sync功能导致HBase入库性能下降

天翼云开发者社区

大数据

ClickHouse 可观测性最佳实践

观测云

Clickhouse

ElevenLabs 语音智能体提示词指南——解锁 AI 语音交互的「灵魂秘籍」丨 Voice Agent 学习笔记

声网

Dify发布V1.5.0:可视化故障排查!超实用

王磊

飞算科技:以飞算 JavaAI 为核心,打造企业级 Java 智能开发解决方案

飞算JavaAI开发助手

Java中什么是类加载?类加载的过程?

量贩潮汐·WholesaleTide

Java

小团队如何选择远控方案?贝锐向日葵“团队版”优势分析

科技热闻

ERP、MES、PLM、CRM、OA等企业常用软件的区别与联系

优秀

ERP mes PLM

智源研究院与北大医院达成战略合作

智源研究院

HarmonyOSNext 崩溃急救指南:全局监听+同步退出 = 优雅保命!

Turing_010

接口设计的原则:构建优雅API的完整指南

不在线第一只蜗牛

接口 API

园区智变时刻,网络该如何为企业撑腰?

脑极体

AI

HDFS目录配额(quota)不足导致写文件失败

天翼云开发者社区

大数据

未来工业4.0下的智能仓储物流

优秀

工业4.0 制造业

Rails 2.3.2发布,带有众多更新_Ruby_Robert Bazinet_InfoQ精选文章