RoR ActiveResource self.to_json:3.2.1和3.0.7之间的差异

时间:2012-02-26 18:59:42

标签: ruby-on-rails jruby activeresource

ARes 3.0.7

user = User.find(123)
# response.body outputs {"id":"123","lastName":"Jones","firstName":"Bob"}
user.to_json = {"firstName":"Bob","id":"123","lastName":"Jones"}

ARes 3.2.1

user = User.find(123)
# response.body outputs {"id":"123","lastName":"Jones","firstName":"Bob"}
user.to_json = {"user":{"firstName":"Bob","id":"123","lastName":"Jones"}}

如何使ARes 3.2.1表现得像ARes 3.0.7?是否有直接触及.to_json的配置?

背景: 我正在从RoR 3.0.7升级到RoR 3.2.1。旧环境是JRuby 1.6.2,Ruby 1.8.7。新环境是JRuby 1.6.7,Ruby 1.9.2。

1 个答案:

答案 0 :(得分:1)

我认为这在rails 3.1中已经改变了。

将以下内容放入config/application.rb或初始值设定项中以进行设置。

ActiveResource::Base.include_root_in_json = true

请注意,您必须重新启动服务器才能使其生效。

<强>更新

看起来这当前不会修改输出JSON。但是在Github上有拉取请求。 https://github.com/rails/rails/pull/4874