ruby-on-rails - 在 Rails 3 中按数组索引选择对象

标签 ruby-on-rails ruby ruby-on-rails-3 activerecord

我试图通过数组中的索引使用 ActiveRecord 选择对象集合。

我知道我可以选择 Item.first 或 Item.last 或单个或范围。但我想通过数组中位置的索引更新任意组。

collection = Item.all.to_a
collection[3,5,9,11]

这可能吗?

提前致谢...

-- 编辑--

感谢 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) }

最佳答案

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

collection.values_at(3, 5, 9, 11)

关于ruby-on-rails - 在 Rails 3 中按数组索引选择对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7894801/

相关文章:

ruby-on-rails - Ruby 已经在使用我的模型的类名

ruby-on-rails - Ruby On Rails - 如何重命名当前上传的文件?

Git 没有使用 .gitignore 的内容

ruby - 迭代哈希集合

ruby-on-rails - Rails Assets 预编译不起作用

ruby - 我如何 "force"我的 Rails 3 应用程序使用 1.9.2

ruby-on-rails - RoR2.8 & Heroku : I installed a plugin, 在本地工作,现在 heroku 根本不工作

ruby-on-rails - rails 回形针无法从另一个 View 访问图像

ruby - 为 Sinatra 应用程序连接到现有的 Heroku Postgres DB

ruby - 如何转换 Ruby 哈希,使其所有键都是符号?