2010 年 5 月 23 日星期日

发布了 Ruby on Rails 2.3.6

Jeremy Kemper 发布

我们发布了 Ruby on Rails 2.3.6:对错误进行了 6 个月的修复,添加了一些新功能,并对 Rails 3 进行了有力的改进。

我们在 Rails 2.3.6 中弃用了某些晦涩和古老的功能,以便我们能够从 Rails 3 中彻底删除它们。如果您的应用以 Rails 2.3.6 运行,并且没有弃用警告,那么顺利迁移是十拿九稳的。

这道准备充分的菜肴是由我们全志愿厨房的一些人制作的,他们是 87 名提交者

好了,我们打开这些礼物袋吧!

Action Pack

  • 将 Rack 从 1.0.1 升级到 1.1.0。
  • XSS 预防:进行更新以匹配 Rails 3 并迁移到 http://github.com/rails/rails_xss 上的官方插件。
  • Cookies:便捷的 cookie jar 插件用于设置永久或已签署 cookie,或者同时进行这两项设置:cookies.permanent.signed[:remember_me] = current_user.id了解更多
  • Flash:在许多应用中提升为最常见的 flash 键的 alertnotice,变为 self.alert = '...'self.notice = '...'。添加 redirect_to url, :alert => '...':notice => '...'了解更多
  • i18n:本地化 label 助手。

Active Record

  • 命名空间:通过定义 self.table_name_prefix,在模块中支持可选择的 table 名称前缀。 了解更多
  • Destroy 使用乐观锁。
  • 计数器缓存:使用 Post.reset_counters(1234, :comments) 来计算 post 1234 的评论数量并重置其 comments_count 缓存。
  • PostgreSQL:始终使用支持标准的字符串(如果受支持)。
  • MySQL:添加索引长度支持。 了解更多
  • MySQL:add_change_column 使用 :first => true:after => :other_column 支持列位置。

Active Support

  • 将 i18n 从 1.3.3 升级到 1.3.7。
  • 将 TZInfo 从 0.3.12 升级到 0.3.16。
  • 多字节:加速字符串验证和清理。
  • JSON:如果可用,请使用 YAJL 进行 JSON 解码。gem install yajl-ruby
  • 测试:添加 assert_blankassert_present了解更多
  • 核心:从 Ruby 1.8.8 回置 Object#singleton_class,弃用我们的 Object#metaclass
  • 核心:添加 Object#presence,如果其 #present? 返回该对象,否则返回 nil。示例:region = params[:state].presence || params[:country].presence || 'US'
  • 核心:添加 Enumerable#exclude? 以匹配 include?
  • 核心:将 Array#rand 重命名为 Array#random_element,以避免与 Kernal#rand 发生冲突。
  • 核心:将 Date#Time#last_(month|year) 重命名为 #prev_(month|year),以实现 Ruby 1.9 向前兼容性。

Active Resource

  • JSON:将 ActiveResource::Base.include_root_in_json = true 设置为 true,以使用模型名称 → 特性的散列表形式序列化,而不是裸属性散列表。默认为 false。

Action Mailer

  • 将 TMail 从 1.2.3 升级到 1.2.7。

Railties

  • 取消 RubyGems 1.3.6 弃用警告。

浏览 提交日志,详细了解全部内容。