多くのメンバーと多くのタスクを持つプロジェクト モデルがあるとします。
class Project < ActiveRecord::Base
has_many :memberships
has_many :members, :through => :memberships, :class_name => 'User'
has_many :tasks
end
プロジェクトでタスクが作成されると、どのユーザーがそれを作成したかが記録されます。現在のプロジェクトのメンバーであるユーザーのみが
class Task < ActiveRecord::Base
belongs_to :creator, :class_name => 'User'
belongs_to :project
end
私のprojects#show
アクションでは、プロジェクトを見つけて、そのメンバー、タスク、およびその作成者とともに表示したいと考えています。クエリを高速化するために、これらのものを熱心にロードしようとします。
私は検索メンバーを熱心に読み込んでおり、タスクにはメンバーである作成者のみを含めることができるので、タスクの作成者を具体的に含める必要はないと考えていますか?
言い換えれば、私はこれを行うことができます:
Search.includes(:members, :tasks)
または私はこれを行う必要があります:
Search.includes(:members, :tasks => :creator)