2013-07-19 83 views

回答

2

是的,這是正確的方式,但要記住,ñ Ò回調或驗證將被執行

順便說一句,update_all接受條件也。這樣

Foo.update_all({:some_columnn => "1"}, {:some_id => 1}) 
0

如果你不想實例化一個對象,這是正確的方法,但要記住,這也意味着它不會執行你的任何模型驗證或回調 - 它直接到SQL更新命令。

Further information

0

您可以使用條件,根據update_all

update_all的API(更新條件=零,選擇= {})

所以,你可以這樣做:

Foo.update_all(:some_column => '1', :some_id => 1) 
2

As of Rails 4,所述條件不再對update_all方法提供,但是前述回收被代替指定。例如,

# updates everything, as usual 
Foo.update_all(some_column: '1') 

# update only the specified rows 
Foo.where(some_id: 1).update_all(some_column: '1') 
相關問題