【发布时间】:2011-08-10 13:29:26
【问题描述】:
我正在尝试使用以下设置查询跨模型
Class Scorecard < AR::Base
default_scope where(:archived => false)
belongs_to :user
has_many :scorecard_metrics
end
Class ScorecardMetric < AR::Base
belongs_to :scorecard
end
Class User < AR::Base
has_many :scorecards
end
我正在尝试从具有连接记分卡的命名范围的记分卡指标中查询,我希望它包含记分卡的默认范围,我当前的实现(有效)看起来像这样
# on ScorecardMetric
scope :for_user, lambda {
|user| joins(:scorecard).
where("scorecards.user_id = ? and scorecards.archived = ?", user.id, false)
}
这对我来说似乎很乱,有没有办法加入并包含加入协会的默认范围?
【问题讨论】:
标签: ruby-on-rails activerecord arel