同时更新几个模型实例,The Rails Way?

时间:2010-08-12 13:40:23

标签: ruby-on-rails ruby-on-rails-3

我有一个settings表,其中包含两个字段keyvalue。现在,在为其创建管理部分时,我希望能够立即编辑所有设置。

有没有“Rails(3)方式”这样做可以节省一些时间?

1 个答案:

答案 0 :(得分:3)

ActiveRecord有一个update_all方法,用于更新所有记录,其中包含与find支持的常用条件等匹配的指定字符串列和值对。该方法在幕后发出单个SQL UPDATE语句。

例如:

Setting.update_all("key = 'foo', value = 'bar'")

-equates to:

UPDATE settings SET key='foo', value='bar';

如果您想使用不同的键/值值执行多个设置的批量更新,那么有几个Railscast可以涵盖如何执行此操作: