本文介绍了如何在 Ruby on Rails 3 中更新多个列?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
只是出于好奇,有没有办法说这个...
Just out of curiosity, is there a way to say this...
user.update_column(:field1, true)
user.update_column(:field2, true)
...在 Ruby on Rails 中的一行?
... in one line in Ruby on Rails?
据我所知 update_columns
方法不存在...
As far as I know an update_columns
method does not exist...
推荐答案
您可以使用 update_all
如下:
User.where(:id => user.id).update_all({:field1 => true, :field2 => true})
这将生成以下更新语句(mysql):
This will generate the following update statement (mysql):
UPDATE users SET field1 = 1, field2 = 1 WHERE users.id = <whatever>
不会运行回调和验证.
这篇关于如何在 Ruby on Rails 3 中更新多个列?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!