1

所以我想使用[ActiveModel::Serializer][1]最近添加到 Rails 中的新功能。

如果我这样写我的序列化程序:

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

4

1 回答 1

2

好,我知道了。在发送 a的控制器respond_with(@blah)中,我应该传递一个根元素并将其命名为我喜欢的任何名称,例如:

respond_with(@blah, root: 'my_results')
于 2013-03-13T04:06:33.893 回答