假设我的 rails 3.1 项目中有一些 activerecord 模型,如下所示:
class Component < ActiveRecord::Base
has_many :bugs
end
class Bug < ActiveRecord::Base
belongs_to :component
belongs_to :project
scope :open, where(:open => true)
scope :closed, where(:open => false)
end
class Project < ActiveRecord::Base
has_many :bugs
has_many :components_with_bugs, :through => :bugs, :conditions => ["bugs.open = ?", true]
end
简而言之:我有一个 has_many through 关联 ( components_with_bugs
),我想在其中定义“通过”模型。目前我正在通过复制范围的代码来做到这一点。
有什么方法可以定义这个有很多通过关联(components_with_bugs
),这样我就可以重用Bug.open
通过模型上的范围,同时仍然在单个数据库查询中加载组件?(我在想象类似的东西:conditions => Bug.open
)