Shortcut for getting ids for an ActiveRecord scope

You can use .ids on an ActiveRecord 4+ scope to pluck all the ids of the relation

User.where("users.name LIKE 'Foo Bar'").ids

# same as (since Rails 3.2)
User.where("users.name LIKE 'Foo Bar'").pluck(:id)

If you are stuck on Rails 2.3 you can use Edge Rider's collect_ids Show archive.org snapshot :

User.where("users.name LIKE 'Foo Bar'").collect_ids(:id)
Martin Schaflitzl About 5 years ago