本文介绍了如何在 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 中更新多个列?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-01 23:24