class Parent < ActiveRecord::Base
has_many :childs
has_many :grandchilds, :through => :childs
scope :has_grandchildren, childs.includes(:grandchilds).group("childs.id").having("count(grandchilds.id) < 0")
end
class Child < ActiveRecord::Base
has_many :grandchilds
belongs_to :parent
end
class Grandchild < ActiveRecord::Base
belongs_to :child
end
I added the has_many through
relationship in case you needed it later, although it is optional.