Ruby on rails 有人能帮我如何使用scope进行快速加载吗

Ruby on rails 有人能帮我如何使用scope进行快速加载吗,ruby-on-rails,Ruby On Rails,例如: 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} 但是多次迭代您必须定义一个自定义关联,而不是范围,并使用它进行快速加载: has_many :more_no_comments, :class_n

例如:

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}

但是多次迭代

您必须定义一个自定义关联,而不是范围,并使用它进行快速加载:

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}

请参阅。

包括
处理模型的关联,范围在关联模型上定义