在Rails 3中按数组索引选择对象

Ada*_*dam 2 ruby activerecord ruby-on-rails ruby-on-rails-3

我正在尝试通过数组中的索引使用ActiveRecord选择对象集合.

我知道我可以选择Item.first或Item.last或single或range.但我想通过它们在数组中的位置索引来更新任意组.

collection = Item.all.to_a
collection[3,5,9,11]
Run Code Online (Sandbox Code Playgroud)

这可能吗?

提前致谢...

- 编辑 -

感谢tokland的帮助,我能够让它完美无缺.

如果其他人想要做类似的事情,这就是我做的:

yesterday = Time.now - 1.day
i = Item.all
new_items = i.values_at(1,3,5,10,11,14,18)
new_items.each{ |e| e.update_attributes(:published_at => yesterday) }
Run Code Online (Sandbox Code Playgroud)

tok*_*and 7

如果您的意思是数组中的索引(不是ID):

collection.values_at(3, 5, 9, 11)
Run Code Online (Sandbox Code Playgroud)