Associações de carga ansiosas com Serializadores de Modelo Ativo

fundo

Eu tenho um aplicativo de trilhos com associações profundamente aninhadas.

                          .-< WorkPeriod
Timecard -< Week -< Day -<--< Subtotal
                          `-< Adjustment

-<  (has many)

estou a usarSerializador de Modelo Ativo para construir a API.

No lado do cliente, quero carregar um cartão de ponto e todas as associações de uma só vez.

Atualmente meus serializadores ficam assim,

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 ...
Problema

Isso tudo funciona, exceto que nada fica sobrecarregado. Por isso, acaba fazendo muitas chamadas para o banco de dados para cada solicitação. Para cada semana, faz uma solicitação separada para os dias da semana. E para cada dia, ele faz uma solicitação separada para os seus work_periods, subtotais e ajustes.

questionAnswers(2)

yourAnswerToTheQuestion