BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Rails 2.3.2发布,带有众多更新

| 作者 Robert Bazinet 关注 0 他的粉丝 ,译者 张龙 关注 12 他的粉丝 发布于 2009年3月21日. 估计阅读时间: 7 分钟 | GMTC大前端的下一站,PWA、Web框架、Node等最新最热的大前端话题邀你一起共同探讨。

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缓存
  • 将主机作为对象
  • 增加了grouped_options_for_select辅助方法
  • 为表单的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

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

非常棒 by vincent xie

rails的更新真是迅速啊!真棒!

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

1 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT