【发布时间】:2011-09-24 11:34:21
【问题描述】:
在 Rails 应用程序中,我有一个操作,它返回不同模型集合的 json 表示。它看起来像这样一些:
respond_to :json
def index
@cars = Car.all
@vans = Van.all
respond_with({
:cars => @cars,
:vans => @vans
})
end
但是,我想自定义传递给 json 对象的属性和方法。有点像:
respond_with({
:cars => @cars.to_json(:only => [:make, :model], :methods => [:full_name]),
:vans => @vans
})
执行上述操作会导致“汽车”的 json 表示被转义为一个大字符串,例如:
{
"cars":"[{\"car\":{\"make\":\"Ford\" ... etc
"vans": [{"van":{"make":"Citreon" ... vans not escaped
}
显然,我以错误的方式处理这个问题。谁能指出我正确的方向?
【问题讨论】:
标签: ruby-on-rails ruby json ruby-on-rails-3 activerecord