Фон
У меня есть приложение rails с глубоко вложенными ассоциациями.
.-< WorkPeriod
Timecard -< Week -< Day -<--< Subtotal
`-< Adjustment
-< (has many)
Я использую Active Serializer для создания API.
На стороне клиента я хочу загрузить timecard и все его ассоциации за один снимок.
В настоящее время мои сериализаторы выглядят так:
class TimecardSerializer < ActiveModel::Serializer
embed :ids, include: true
has_many :weeks
end
class WeekSerializer < ActiveModel::Serializer
embed :ids, include: true
has_many :days
end
# ... etc ...
Проблема
Это все работает, но ничего не загружается. Таким образом, это заканчивается тем, что вызывает много вызовов в базе данных для каждого запроса. На каждую неделю он делает отдельный запрос для дней на этой неделе. И для каждого дня он делает отдельный запрос для этого work_periods, промежуточные итоги и корректировки.