【问题标题】:Customizing output of Serializer自定义序列化器的输出
【发布时间】:2013-03-13 03:45:35
【问题描述】:

所以我想使用最近添加到 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

【问题讨论】:

    标签: ruby-on-rails-3.2 active-model-serializers


    【解决方案1】:

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

    respond_with(@blah, root: 'my_results')
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-07
      • 1970-01-01
      • 2013-03-05
      • 2016-11-28
      • 2014-07-08
      • 1970-01-01
      • 2011-04-30
      • 2015-10-29
      相关资源
      最近更新 更多