新的json serialize 会在 hash 中添加一个 class 为 root 的 key
比如
老的ActiveRecord::Base#to_json
Article.first.to_json => "{\"title\":\"article title\"}"
新的:
Article.first.to_json => "{\"article\":{\"title\":\"article title\"}}"
这个会导致已有的依赖json 的 javascript 程序出错
解决方式:
修改 config/initializers/new_rails_defaults.rb
ActiveRecord::Base.include_root_in_json = true
修改成
ActiveRecord::Base.include_root_in_json = false
使用老的serialize 方式
注意,这个新行为会是rails3.0的默认行为,所以如果需要迁移到rails3.0 ,可能需要修改js程序来适合rails3.0


