写点什么

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

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

关注

评论

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

怒肝 Linux 学习路线,这回不难

程序员鱼皮

Linux 编程 后端 开发 java

发布两小时,霸榜GitHub!Spring Boot实战文档

Java 编程 程序员 后端 计算机

无敌!学透美团老哥的这套微服务进阶学习手册拿个P7还是so easy!

Java 架构 面试 程序人生 编程语言

没想到!阿里技术大佬独家收藏的pring全家桶小册,竟被我意外发现!

Java 架构 面试 程序人生 编程语言

Java高级、架构师必备!Lucene+ElasticStack入门至项目实战!

Java 架构 面试 程序人生 编程语言

通关宝典!Java 面试核心知识让你面试过,过,过!

Java 程序员 面试 后端 构架

升级了 Windows 11 正式版,有坑吗?

王磊

RUOYI 框架教程 15|若依框架中 Mysql 操作 | 日期处理

Java_若依框架教程

Java 技术 Ruoyi 框架 若依

RUOYI 框架教程 16|关于若依RuoYi.jar卡顿,僵死,假死,系统无反映解决方案

Java_若依框架教程

技术 Ruoyi 开发 框架 若依

双非本科猛斩6个offer,秘籍公开!

Java 程序员 架构 面试 后端

横空出世!IDEA画图神器来了,比Visio快10倍

收到请回复

Java IDEA idea插件

被疫情“带飞”的家庭健身市场,是时候卷起来了

脑极体

Leetcode题目解析:274. H 指数

程序员架构进阶

面试 算法 LeetCode 10月月更

自定义View:如何绘制一个饼图

Changing Lin

10月月更

互动视频和5G的相互成就

脑极体

gitee上提交PR和issue流程和注意事项

Geek_6cdeb6

机器学习 深度学习 git

Rtmp Message 与 Chunk格式

webrtc developer

RTMP

观测云产品更新|新增主机网络性能监测、图表矩形树图、多监测关联查询等功能

观测云

功能更新

总结出这份学习笔记,帮助朋友成功跳槽!六年阿里工作,苦熬到 P7经验分享!

Java 程序员 架构 后端 工程师

神马操作!Kafka 竟然宣布弃用 Java 8

收到请回复

Java kafka 后端 java8

一女程序员因薪酬问题离职,rm -f * 删库,瘫痪6个小时,被判9个月

收到请回复

Java 程序员 面试 面经

TypeScript 中的 Index Signatures

Regan Yue

typescript ReganYue 10月月更

4年CRUD小职员,五面阿里艰苦经历(定薪45K),回馈一波心得体会

收到请回复

Java 程序员 面试 后端 面经

ToB产品如何自传播(上)

石云升

产品经理 产品设计 产品思维 10月月更

凌晨加班回家路上捡到阿里技术人限产的MySQL高级笔记及面试宝典,从此我的人生像开挂一样!

Java 架构 面试 程序人生 编程语言

区块链通证经济和传统经济的区别,如何实现

CECBC

区块链通证经济的意义

CECBC

2021金九银十Java面试经历:腾讯5面(已拿offer)

Java 编程 程序员 架构 面试

面试多次被拒,“两个月”61天,我收到了蚂蚁金服P7级的offer

Java spring 程序员 架构 编程语言

飞桨与海光人工智能加速卡DCU系列完成互证,助力国产AI加速 卡人工智能应用创新

百度大脑

人工智能 深度学习 飞桨

这么卷吗?大三学生喜获阿里提前批

Java 程序员 架构 后端

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