아래 2 가지 검색어를 어떻게 조합하면됩니까?ActiveRecord : 부울 필드가 참이 아닌 레코드를 찾는 방법은 무엇입니까?
1.9.3-p484 :003 > u = User.where(guest: false).count
(2.4ms) SELECT COUNT(*) FROM `users` WHERE `users`.`guest` = 0
=> 0
1.9.3-p484 :004 > u = User.where(guest: nil).count
(2.5ms) SELECT COUNT(*) FROM `users` WHERE `users`.`guest` IS NULL
=> 4150
guest 열에 대해 하나의 명령문에서 nil 또는 false 값을 가진 사용자를 얻으려고합니다. 레일 아직 구현 OR
에 대한 직접적인 방법이 없기 때문에
.where.not (guest : true) 쿼리는 guest의 nil 값을 무시할 수 있습니다. 즉, (guest : false)와 같을 수 있습니다. 적어도 Rails 4.1 + Postgres에 있습니다. https://github.com/rails/rails/issues/11702를 참조하십시오. –