示例:
has_many : comments
belongs_to : user
scope : more_no comments where(self.no_times >10)
查询:像这样我试过
User.includes(:comments).all.collect{|u| u.comments.more_no_comments}
但多次迭代
答案 0 :(得分:0)
您必须定义自定义关联而不是范围,并将其用于预先加载:
has_many :more_no_comments, :class_name => 'Comment', -> { where "no_times > 10" }
然后
User.includes(:more_no_comments).all.collect{|u| u.comments.more_no_comments}
请参阅this question。