update_all无效

时间:2013-02-25 06:11:35

标签: ruby-on-rails ruby

我正在使用update_all直接在数据库上更新特定记录。我在一个解析csv文件的脚本中这样做。我知道update_all返回一个关于更改了多少行的整数。有些行返回1,有些返回0,这意味着没有行受到影响。

attrs = list of user attributes
User.update_all(attrs, { id: user.id })

提前致谢!

1 个答案:

答案 0 :(得分:6)

这通常发生在数据库找不到特定行时,在这种情况下,该行基于user.id。我打赌你有一个default_scope用户正在筛选出该特定用户。尝试使用User.unscoped.update_all(attrs, { id: user.id })