在两个RC版以后,Rails 2.2最终发布了。虽然从版本号上没有迈出很大一步,但仍然有着很多新特性。
\国际化
\有一个翘首以盼很久的问题终于得到了解决——Rails现在为国际化提供了框架。需要注意的是,这并不意味着Rails现在自己已经可以支持en-US之 外的其他locale,只是把其他国际化实现集成到Rails里面来变得简单了一些。Sven Fuchs在他的博客上揭示了提供国际化支持的目标和动机:
\第一部分是API本身,它只是一个Ruby模块而已,里面提供了一些方法供Rails调用,将所有请求转发到后端。
第二部分是Simple后端,它实现了把Rails重新本地化为en-US所需的所有方法。\
在Trevor Turk的博客上,有个简单的本地化示例。
\线程安全
\在2.2版本中,Rails终于实现了线程安全。多谢Josh Peek的Google编程之夏项目。由此也导致了数据连接池的出现。但是线程安全对Rails到底意味着什么?发布说明中写到:
\这意味着你可以用内存中更少的Rails拷贝处理更多的请求,会为你带来更好的服务器性能,对多核的利用更为优化,当然,这也要依赖于web服务器的底层架构。\
JRuby的Charles Nutter也写了一篇详尽的博客回答这个问题:“这意味着把包裹所有请求的单个粗粒度锁去掉,替换成多个细粒度锁,只用来处理那些需要在多个线程中被使用的资源。”
\文档完善
\Rails的内部文档已经做了多处改善,而且也有了Ruby on Rails guides网站,上面有很多优秀精彩的文章,涉及的话题有安全、测试和调试。
\其它变化还包括新的mailer layouts,更舒适的memoization,它们都可以提高代码的可读性。另一个新特性是“更简单的有条件Get”,这个话题我们从前在InfoQ上已经报道过了。其它最新变化都是在RC2里面完成的,诸如“请求伪造保护”的改进和ActiveRecord连接池代码的调优。
\升级
\在Rails 2.2中的变化比我们所列举出来的还要多很多,在Rails 2.2 发布说明中有更详尽的列表。
\Rails 2.2 要求安装有最近的Ruby Gems 1.3.1,如果在Ruby Gems升级的时候遇到问题,可以看一下Eric Hodel的blog。
\然后,你就应该为安装Rails做好准备了:
\gem install rails