Tin*_*n81 14 ruby ruby-on-rails-3 ruby-on-rails-3.2
出于好奇,有没有办法说这个...
user.update_column(:field1, true)
user.update_column(:field2, true)
Run Code Online (Sandbox Code Playgroud)
...在Ruby on Rails中的一行?
据我所知,一种update_columns方法不存在......
Jef*_*man 41
您可以使用update_all如下:
User.where(:id => user.id).update_all({:field1 => true, :field2 => true})
Run Code Online (Sandbox Code Playgroud)
这将生成以下更新语句(mysql):
UPDATE users SET field1 = 1, field2 = 1 WHERE users.id = <whatever>
Run Code Online (Sandbox Code Playgroud)
回调和验证将不会运行.