给出典型的例子:
class Post < ActiveRecord::Base
has_many :comments
end
class Comments < ActiveRecord::Base
belongs_to :post
end
我想返回ActiveRecord::Relation
所有评论为 X 或更少的帖子的范围(即);如果可以解决我的问题,请使用Active Record Query Interface、Arel或其他方法。
伪代码:
scope :quiet, lambda { |n| where(comments: { maximum: n }) }
我知道这可以在 Ruby 中使用简单的Enumerable#select
. 最好在数据库上计算,因为实际上只能有一个模型满足谓词。