如何在不加载ActiveRecord中的对象的情况下更新列

Rpj*_*Rpj 5 activerecord ruby-on-rails

Foo.where(:some_id => 1).update_all(:some_columnn => "1")
Run Code Online (Sandbox Code Playgroud)

这是更新Foo的正确方法吗?我不想做一个查找和更新对象.

San*_*osh 2

是的,这是正确的方法,但请记住,不会执行任何回调或验证

顺便说一句, update_all 也接受条件。像这样

Foo.update_all({:some_columnn => "1"}, {:some_id => 1})
Run Code Online (Sandbox Code Playgroud)