【发布时间】:2011-12-06 22:22:06
【问题描述】:
我对这个选项有点困惑...可以在下面的示例中找到
user = User.find(1)
user.as_json
# => { "user": {"id": 1, "name": "Konata Izumi", "age": 16,
"created_at": "2006/08/01", "awesome": true} }
ActiveRecord::Base.include_root_in_json = false
user.as_json
# => {"id": 1, "name": "Konata Izumi", "age": 16,
"created_at": "2006/08/01", "awesome": true}
http://rubydoc.info/gems/activemodel/3.1.3/ActiveModel/Serializers/JSON
为什么 ActiveModel 要求您使用 ActiveRecord 告诉它您不希望在序列化对象的根目录中使用基础对象?
我似乎无法让它工作,目前我正在做:
require "active_model"
ActiveRecord::Base.include_root_in_json = false
但它只是说它找不到常量“ActiveRecord”,这是有道理的,但这只是文档中的错字还是有一些真正的原因?由于 ActiveRecord 似乎处理数据存储问题,ActiveModel 似乎处理扩充简单模型...
【问题讨论】:
标签: ruby activemodel