写点什么

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

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

关注

评论

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

MySQL一次大量内存消耗的跟踪

GreatSQL

谁说前端已死,低代码没干掉我,chatGPT又如何!| 社区征文

花花

三周年征文

Java实现坦克大战1.0

timerring

Java

使用 NutUI 搭建「自定义业务风格」的组件库 | 京东云技术团队

京东科技开发者

京东云 企业号 5 月 PK 榜

以最大速度将数据迁移至AWS S3存储

镭速

美团架构师熬夜整理:Netty权威指南2.0版+英雄传说项目

做梦都在改BUG

Java Netty

前端配置化表单组件设计方法 | 京东云技术团队

京东科技开发者

前端 表单设计 配置化 企业号 5 月 PK 榜

面向万物智联的应用框架的思考和探索(下)

HarmonyOS开发者

HarmonyOS

软件测试/测试开发丨Pytest 参数化用例

测试人

软件测试 自动化测试 测试开发 pytest

路由器的后台管理界面的IP地址为什么都是192.168开头?

wljslmz

网络 三周年连更

Istio数据面新模式:Ambient Mesh技术解析

华为云开发者联盟

云原生 后端 华为云 华为云开发者联盟 企业号 5 月 PK 榜

ShareSDK 钉钉平台注册指南

MobTech袤博科技

《AGI时代的破局之道 | 社区征文》

后台技术汇

三周年征文

下载LORA模型

IT蜗壳-Tango

三周年连更

【问题排查篇】一次业务问题对 ES 的 cardinality 原理探究 | 京东云技术团队

京东科技开发者

ES 京东云 企业号 5 月 PK 榜

Flink应用开发

阿泽🧸

flink 三周年连更

Java多线程基础

timerring

Java

数据导向下制造业的生产效率、交易效率提升办法

镭速

Markdown基础语法教程

进基的小张

学习 markdown markdown语法 markdown编辑器 基础

服务网格(Service Mesh)是什么?

乌龟哥哥

三周年连更

手把手教会你 | 网络编程

TiAmo

socket通信 服务器编程 单用户模式

去哪儿网企业级监控平台-Watcher

Qunar技术沙龙

去哪儿网 监控平台

细节爆炸!腾讯用13个案例实战讲明白MySQL,没想到这么全

做梦都在改BUG

Java MySQL 数据库

开源项目LuckyDraw分享&介绍

进基的小张

小程序 开源 开发 GitHub、 项目上线

matlab实现通信原理

袁袁袁袁满

三周年连更

机器人SLAM,三维人工智能的核心技术!

博文视点Broadview

深入理解shims-vue.d.ts和declare module

Lee Chen

JavaScript

async/await详解

不叫猫先生

JavaScript async/await 三周年连更

1分钟学会、3分钟上手、5分钟应用,快速上手责任链框架详解 | 京东云技术团队

京东科技开发者

Netty 京东云 企业号 5 月 PK 榜

使用MASA全家桶从零开始搭建IoT平台(二)设备注册

MASA技术团队

IoT mqtt

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