Rails 3.2 RC1 发布
程序员文章站
2022-05-24 14:13:49
...
Rails 3.2的首个候选版发布了。
Rails 3.2带来了诸多新特性,包括:
1. 更快的开发模式和路由
该版本中最引人注意的新特性是,开发模式得到了大大改善,比之前更快。受Active Reload启发,现在只从已更改的文件中加载类,这对于大型应用程序非常有用。
由于新的Journey引擎,路由识别(Routes recognition)的速度也得到了大的提升。同时,链接也更快了(特别是当你的单个页面中有100多个链接时)。
2. 解释查询
增加了一个快速简便的方式去解释ARel生成的查询。在控制台中,你能够运行一些类似于puts Person.active.limit(5).explain的命令,你将得到查询解释(你可以轻松看到是否使用了正确的索引)。在开发模式中还包含了一个默认阈值,如果一个查询时间超过0.5秒,将被自动解释。
3. Tagged logger
当你运行一个多用户、多账户应用时,Tagged logger可以根据谁做了什么来过滤日志。它的工作方式如下:
4. Active Record Store
以上只是该版本中的少量改进,更详细的改进信息参阅:Release Notes
报告Bug:https://github.com/rails/rails/issues
下载地址:https://github.com/rails/rails
Rails 3.2带来了诸多新特性,包括:
1. 更快的开发模式和路由
该版本中最引人注意的新特性是,开发模式得到了大大改善,比之前更快。受Active Reload启发,现在只从已更改的文件中加载类,这对于大型应用程序非常有用。
由于新的Journey引擎,路由识别(Routes recognition)的速度也得到了大的提升。同时,链接也更快了(特别是当你的单个页面中有100多个链接时)。
2. 解释查询
增加了一个快速简便的方式去解释ARel生成的查询。在控制台中,你能够运行一些类似于puts Person.active.limit(5).explain的命令,你将得到查询解释(你可以轻松看到是否使用了正确的索引)。在开发模式中还包含了一个默认阈值,如果一个查询时间超过0.5秒,将被自动解释。
3. Tagged logger
当你运行一个多用户、多账户应用时,Tagged logger可以根据谁做了什么来过滤日志。它的工作方式如下:
Logger = ActiveSupport::TaggedLogging.new(Logger.new(STDOUT)) Logger.tagged("BCX") { Logger.info "Stuff" } # Logs "[BCX] Stuff" Logger.tagged("BCX") do Logger.tagged("Jason") do Logger.info "Stuff" # Logs "\[BCX\] \[Jason\] Stuff" end end
4. Active Record Store
class User < ActiveRecord::Base store :settings, accessors: [ :color, :homepage ] end u = User.new(color: 'black', homepage: '37signals.com') u.color # Accessor stored attribute u.settings[:country] = 'Denmark' # Any attribute, even if not specified with an accessor
以上只是该版本中的少量改进,更详细的改进信息参阅:Release Notes
报告Bug:https://github.com/rails/rails/issues
下载地址:https://github.com/rails/rails
上一篇: 数据库支持
下一篇: InnoDB 和 MyISAM的区别
推荐阅读