Reputation: 441
I would like to be able to gather all records in a table where the user_id is not null. This is what I have but it doesn't seem to be working (even though I've had it working in a seperate project):
named_scope :all_registered, :conditions => ["user_id != ?", nil]
Upvotes: 3
Views: 888
Reputation:
In Rails 4 you can use NOT conditions, see Active Record Query Interface
e.g:
User.where.not(id: nil)
or as a scope:
scope :all_registered, -> { where.not(user_id: nil) }
Upvotes: 0
Reputation: 11596
This should work:
named_scope :all_registered, :conditions => "user_id IS NOT NULL"
Upvotes: 1
Reputation: 36150
SQL has a specific operator to check for NULL: IS NULL
and IS NOT NULL
named_scope :all_registered, :conditions => ["user_id IS NOT NULL"]
Upvotes: 8