How to exclude an array of ids from query in Rails (using ActiveRecord)?

Posted by CuriousYogurt on Stack Overflow See other posts from Stack Overflow or by CuriousYogurt
Published on 2011-01-03T00:49:14Z Indexed on 2011/01/03 0:54 UTC
Read the original article Hit count: 107

I would like to perform an ActiveRecord query that returns all records except those records that have certain ids. The ids I would like excluded are stored in an array. So:

ids_to_exclude = [1,2,3]
array_without_excluded_ids = Item. ???

I'm not sure how to complete the second line.

Background: What I've already tried:

I'm not sure background is necessary, but I've already tried various combinations of .find and .where. For example:

array_without_excluded_ids = Item.find(:all, :conditions => { "id not IN (?)", ids_to_exclude })
array_without_excluded_ids = Item.where( "items.id not IN ?", ids_to_exclude)

These fail. This tip might be on the right track, but I have not succeeded in adapting it. Any help would be greatly appreciated.

© Stack Overflow or respective owner

Related posts about activerecord

Related posts about ruby-on-rails3