假设我有一个项目模型,其中包含许多成员和许多任务。
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)