Следующий искатель распечатывает IS NULL.
IS NULL
User.where(:id =>nil) #=> [] User Load (0.5ms) SELECT `users`.* FROM `users` WHERE `users`.`id` IS NULL ORDER BY created_at DESC
Но я не смог найти, как распечатать IS NOT NULL один?
IS NOT NULL
Попробуйте User.where("id IS NOT NULL")
User.where("id IS NOT NULL")
Это должно сделать вашу работу
Самое простое идиоматическое решение ActiveRecord:
User.where.not(id: nil)
User.where.not(id: nil) будет работать для рельсов 4.
User.where("id IS NOT NULL") будет работать для более старых версий.
Rails 4
вы можете попробовать это
User.where("id is not NULL")
Также, если вы хотите исключить конкретный идентификатор и включить значения nil, следующие будут работать
User.where("id is NULL or id != 'excluded_id'")