所以我想使用最近添加到rails的新[ActiveModel::Serializer][1]
。
如果我像这样编写序列化器:
class PatientSerializer < ActiveModel::Serializer
attributes :patient_money, :doctor_name
def doctor_name
object.doctor.name
end
end
我得到的JSON是这样的:
[
// HERE....
{
"patient_money":"40.0",
"doctor_name":"Ostad"
},
{
"patient_money":"30.0",
"doctor_name":"Oz"
},
{
"patient_money":"20.0",
"doctor_name":"Phil"
}
]
这与我想要的非常接近但是在我上面放置“HERE
”注释的地方,我想要一个更多的JSON包装层,所以我可以说例如my_results
然后那个将这三个JSON结果包围在它周围就像一个数组,就像我们在JBuilder中创建一个新元素时说json.my_results
答案 0 :(得分:2)
好的我明白了。
在发送respond_with(@blah)
的控制器中,我应该传递一个根元素并将其命名为我喜欢的名称,例如:
respond_with(@blah, root: 'my_results')