如何为多个记录调用update_column?

时间:2013-11-05 17:47:12

标签: ruby-on-rails

我可以这样做吗?

Item.where(id: [2, 5, 8]).update_column(calendar_id: 5)

显然这会产生错误,但是有类似的方法吗?

我只是不想让回调被触发,或者时间戳被改变。 调用循环看起来像是一个黑客。

2 个答案:

答案 0 :(得分:0)

在ActiveRecord中禁用时间戳后,您需要在每个update_attribute上运行Item。有关如何禁用时间戳的信息,请参阅this SO answer

答案 1 :(得分:0)

使用update_all

Item.where(id: [2, 5, 8]).update_all(calendar_id: 5)