【发布时间】:2018-02-16 07:19:51
【问题描述】:
有没有一种简单易行的方法来拥有这样的东西?
class People < ActiveRecord::Base
has_many :babies
scope :with_babies -> { where(babies.count > 0) }
end
关于 SO 有很多类似的问题,但它们都求助于复杂的独特 SQL 语句。有没有一种简单的 Rails 方法可以做到这一点?
【问题讨论】:
-
这样的?范围:with_babies, lambda {where(babies.count > 0)}
-
我向你推荐这个非常有用的 gem:github.com/MaxLap/activerecord_where_assoc 它可以让你做
People.where_assoc_exists(:babies, babies: { sex: :male })之类的事情等等
标签: sql ruby-on-rails activerecord