OJ 在 rails 3.0.3 和 4.2.5 中响应不同的结果
OJ responds different results in rails 3.0.3 and 4.2.5
我们正在 rails 从 3.0.3 升级到 4.2.5。我们正在使用 OJ 对对象进行序列化以响应移动。升级后,OJ 响应方式不同,如下所述。
addr = Address.where("id = ?", 1)
Oj.dump({'response' => addr}, mode: :compat)
Rails 3.0.3输出:
"{"response":[{"address":{"id":1,"text":"123, city, state","zip":46703}}]}"
Rails 4.2.5输出:
"{"response":[{"id":1,"text":"123, city, state","zip":46703}]}"
发送与 rails 3.0.3 相同的响应的最佳方式是什么?
在序列化对象之前添加以下行后可以正常工作
ActiveRecord::Base.include_root_in_json = true
我们正在 rails 从 3.0.3 升级到 4.2.5。我们正在使用 OJ 对对象进行序列化以响应移动。升级后,OJ 响应方式不同,如下所述。
addr = Address.where("id = ?", 1)
Oj.dump({'response' => addr}, mode: :compat)
Rails 3.0.3输出:
"{"response":[{"address":{"id":1,"text":"123, city, state","zip":46703}}]}"
Rails 4.2.5输出:
"{"response":[{"id":1,"text":"123, city, state","zip":46703}]}"
发送与 rails 3.0.3 相同的响应的最佳方式是什么?
在序列化对象之前添加以下行后可以正常工作
ActiveRecord::Base.include_root_in_json = true