Families
和class Family < ActiveRecord::Base
has_many :domains_families
has_many :domains, through: :domains_families
end
class DomainsFamily < ActiveRecord::Base
belongs_to :family
belongs_to :domain
end
class Domain < ActiveRecord::Base
has_many :domains_families
has_many :families, through: :domains_families
end
families
我想让所有domains
没有任何def self.no_domains
families = []
all.each do |family|
families << family if family.domains.blank?
end
families
end
我创建了这个方法,它有效,但我知道它可以更有效地完成
{{1}}
实现这个目标的正确方法是什么?
答案 0 :(得分:0)
可能重复:Rails 4 scope to find parents with no children
scope :without_children, includes(:children).where(:children => { :id => nil })
在你的情况下:
Family.includes(:domains).where(domains: { id: nil })