Rails多次返回记录没有关联

时间:2015-08-18 17:44:23

标签: ruby-on-rails postgresql model-associations

Familiesclass 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}}

实现这个目标的正确方法是什么?

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 })