バックグラウンド
関連付けが深くネストされた Rails アプリケーションがあります。
.-< WorkPeriod
Timecard -< Week -< Day -<--< Subtotal
`-< Adjustment
-< (has many)
私はActive Model Serializerを使用して API を構築しています。
クライアント側では、タイムカードとそのすべての関連付けを一度にロードしたいと考えています。
現在、私のシリアライザーは次のようになっています。
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、小計、および調整に対して個別のリクエストを行います。