2008 年 11 月 7 日星期五

本周的 Edge Rails

通过 Mike Gunderloy 发布

正如你可能已知,Rails 正处于活跃开发中。因此,对于那些没有时间阅读每一份提交给源代码的人来说,我们决定重新启动博客的这一部分。这次,我将介绍 3 周的提交内容:自Rails 2.2 RC1(又称为 Rails 2.2.0)发布以来提交的时间。虽然随着 Rails 朝着 2.2 版本推进,并没有添加任何主要新功能,但这并不意味着源代码完全静止:在这三周期间已经进行了大约 75 次提交。下面来看看其中的一些更改。

在 2.2 的准备阶段,我们看到一批 nhỏ 的错误修复,因为人们试图确保该版本中的质量。其中包括

  • 修复 PostgreSQL 适配器中出现的二进制数据损坏错误。 commit
  • redirect_to 背后的正则表达式现在可以接受各种各样的URL方案,从而可以重定向到以前无法访问的一些目标。 commit
  • 在某些情况下可能引发空指针异常的 date_select 和 datetime_select 中的回归已被修复。 commit
  • sanitize 帮助程序已被修复,以避免对已正确转义的实体进行双重转义。 commit
  • 如果名称包含方括号,FormTagHelper 已停止生成不合法的HTMLcommit
  • 已修复 Active Record 作用域方法中的内存泄漏。 commit

2.2 的一些主要功能也得到了优化。已修复线程安全性部门中的一些漏洞,并进行了更改,以使 I18n 后端在开发模式下重新加载其翻译。包含的 Prototype 位已提升到最新的 1.6.0.3 版本。配置、加载和打包 gem 的代码引起了一些关注,并且维护数据库连接池的代码也进行了一些优化。

仅仅因为我们处于功能冻结状态并不意味着无法引入一些新功能

  • current_page 方法现在更加可靠,因为它忽略了你没有明确提供的选项(使其更适用于对分页使用查询字符串的 URL 等)。 commit
  • 默认日志记录已清理,内容更少:当 Rails 进行其业务活动时,你将看到更少的重复日志消息。 commit
  • 现在,该渲染方法采用了 :js 选项,让你可以使用 RJS 直接渲染内联 JavaScript。 提交
  • 如果你有 Ruby 的最新版本(Ruby 1.8.7 或更高版本),如果服务器支持,Action Mailer 会开启 STARTTLS;这使得 Action Mailer 与 GMail 兼容,而无需插件。 提交

最后一点说明:我故意不试图涵盖此处每项提交;只是那些我认为最有意义的提交。但如果你遗漏了某些你认为非常重要的内容,请随时在评论中添加指针!