Объединить результаты сериализатора ActiveModel - PullRequest
0 голосов
/ 29 мая 2019

У меня есть следующий сериализатор ActiveModel, который анализирует следующие данные:

class CarSerializer < ActiveModel::Serializer
attributes :brand, :wheels, :events
def brand
  { id: object.id, brand_name: object.brand_name }
end

def wheels
  object.wheel_details
end

def events
  object.car_events
end
end

и следующие данные отображаются:

{
"car_info": [
{
"car": {
"id": 1,
"brand_name": "opel"
},
"wheels": [
{
"id": 2,
"size": "23.4"
},
{
"id": 1,
"size": "22.3"
}
],
"events": [
{
"id": 1,
"event_place": "america"
},
{
"id": 1,
"event_place": "asia"
}
]

Однако я хочу, чтобы данные выгляделинапример:

{
"car_info": [
{
"car": {
"id": 1,
"brand_name": "opel"
},
"wheels_and_events": [
{
"id": 2,
"size": "23.4"
"event_place": "america"
},
{
"id": 1,
"size": "22.3"
"event_place": "asia"
}
]

Я использую has_many через ассоциации для 3 таблиц и одну таблицу для отношения.

...