可能有一个答案,但我可能不会用正确的词搜索。如何告诉我的模型有一个关联对象?有意义吗?
#Foo Model:
has_one :bar
#User Model:
has_many :foos
User.first.foos.bar #=> {object}
基本上我想要的是,给我所有没有foos
的{{1}}。这可能吗?
而不是将表添加到bar
:foo
,然后:
has_bar: <boolean>
编辑:
根据Albin的回答,这可能是duplicate post。但它仍适用于Rails 5。
答案 0 :(得分:1)
如果你阅读了这个问题的答案,你会发现多种方法:Want to find records with no associated records in Rails 3
我这样做的方式是:
User.first.foos.includes(:bar).where(bars: { foo_id: nil } )
答案 1 :(得分:1)
User.first.foos.select { |foo| foo.include(:bar) && foo.bar.id.nil? }