【发布时间】:2016-07-12 00:03:42
【问题描述】:
鉴于Parent 有许多带有status_id 属性的Childs,我想找到所有没有status_id:1 的孩子。换句话说,status_id 可以是nil 或不同的值。但我看到了一些有趣的行为:
Parent.find(1).childs.where(status_id:nil)
=> #<ActiveRecord::AssociationRelation [#<Child id: 1, status_id: nil ...>]
Parent.find(1).childs.where.not(status_id:1)
=> #<ActiveRecord::AssociationRelation []>
【问题讨论】:
-
你可以写成:
Parent.find(1).childs.where("status_id != 1")或Parent.find(1).childs.where("status_id != ?", 1) -
@KhanhPham 这也不起作用....仍然得到
=> #<ActiveRecord::AssociationRelation []>
标签: ruby-on-rails ruby activerecord