Я использую active-model-serializer . У меня есть коллекция объектов, которые мне нужно вернуть как JSON в специальном формальном. Вот что я написал до сих пор:
@tickets = Ticket.where(status: "PLACED")
render json: @tickets, root: 'placed', each_serializer: ItemSerializer
Вот мой сериализатор предметов:
class ItemSerializer < ApplicationSerializer
attributes :pool_id, :selections
def root
"params"
end
end
Вот ответ с текущим кодом:
[{\"pool_id\":759,\"selections\":\"1/2/3/4/5/6/7/8\"}]
Я хочу иметь возможность добавить корневой ключ "params"
к каждому элементу массива и глобальный корневой ключ "placed"
перед массивом, поэтому желаемый результат будет:
{ "placed": [
{
"params": {
"pool_id": 123,
"selections": "1/1/1"
}
}
]
}
Как этого добиться с помощью сериализатора активной модели?