データベースクエリを最適化しようとしているので、必要に応じて追加してModel.includes(:related_model)
います。
モデル内のメソッド内でこれを使用する適切な方法は何ですか? たとえば、モデルに次のようなメソッドがあるとします。
def some_method
self.child_models.each do |child_model|
total_score += child_model.attribute
end
end
このような場合、どのように使用すればよいincludes
ですか? このようにするのは当然のようですが、うまくいきません:
def some_method
self.includes(:child_model).child_models.each do |child_model|
total_score += child_model.attribute
end
end
ほとんどの場合、n+1 クエリを生成すると、モデルの自己を参照しているように見えますが、この例を見つけることができないようです。
ありがとう!