除了修复一些 bug 外,该版本还增加了一些新特性,以下内容来自于发布说明:
- touch 是个用于更新记录时间戳的便捷方法,仅此而已。其灵感来源于应用的模型一旦发生变化,它可能会“touch”到其他模型,比如说在保存或删除掉评论信息后还要更新 parent.replies_changed_at 时间戳。[…]
- 为 belongs_to 增加了:primary_key 选项以对遗留下来的 schema 和那些使用单独的 UUID 主键的场景提供更广泛的支持:belongs_to :employee, :primary_key => ‘SSN’, :foreign_key => ‘EMPID’ 。[…]
- 更易于使用的编码 [JSON] API
- 针对 json 与 yajl 程序库的后端解码,这要比默认的 YAML 后端更快。
与此同时,Rails 3 的开发工作也在如火如荼的进行当中。Yehuda Katz 就 Rails 3 的新架构以及如何重构像Rails 这样庞大的代码基发表了几篇博文。
Rails 3 的目标之一就是将 Merb 的模块化与定义良好的内部 API 引入到 Rails 代码基中。Yehuda 的关于ActionController 与ActionView 接口的文章就谈到了这一点。现在有一点是很清楚的,那就是Merb 与Rails 的融合将是大势所趋,现在也正在朝这个方向前进。
Rails 3 的开发工作也影响着 Merb 的开发。最近Merb 邮件列表上的一些讨论谈到了Merb 1.1 的现状,而目前的计划是确保能将Merb 平滑移植到Rails 3 上,这需要对Rails 3 的架构有足够的了解。
尽管如此,对于很多项目来说,Merb 仍然是可行的解决方案,正如 Ezra Zygmuntowicz(Merb 创建者)所述:
我还是很乐意使用 Merb 构建应用, http://engineyard.com/solo 就是构建在 Merb 上的。到目前为止,我还没发现遗漏了哪些东西,也没看到哪些特性和 bug 会对使用 Merb 构建应用造成影响。
想了解 Rails 3 的计划吗?看看 David Heinemeier Hansson 在 RailsConf’09 上的演讲是个不错的主意。
查看英文原文: Rails 2.3.3 Released and the State of Rails 3.0 and Merb
评论