首页 > 解决方案 > Rails - 使用附加字段序列化集合

问题描述

我使用“active_model_serializers”作为序列化引擎。现在我的索引方法返回订单数组。render json: @orders, each_serializer: Web::OrderSerializer. 现在我想在数组旁边添加额外的字段。是订单数量。结果,我想要类似的东西:

{
  "order_quantity": 12,
  "orders": [(serialized collection here)]
}

我应该如何使用 Active Model Serializers 语法对其进行编码?

标签: ruby-on-rails

解决方案


您可以在此处使用#map 来获取每个订单的序列化值。

render json: { 
  orders: @orders.map{|order| Web::OrderSerializer.new(order).attributes},
  order_quantity: @orders.count // 12
}

推荐阅读