RoR ActiveResource self.to_json: разница между 3.2.1 и 3.0.7 - PullRequest
0 голосов
/ 26 февраля 2012

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 Ответ

1 голос
/ 26 февраля 2012

Это было изменено в рельсах 3.1 Я верю.

Поместите следующее в config/application.rb или в инициализатор, чтобы установить его обратно.

ActiveResource::Base.include_root_in_json = true

Обратите внимание, что для вступления в силу необходимо перезапустить сервер.

обновление

Похоже, что в настоящее время это не изменяет выходной JSON. Однако на Github есть запрос на удаление. https://github.com/rails/rails/pull/4874

...