3

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

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

提前致谢!

4

1 回答 1

6

这通常发生在数据库找不到特定行时,在这种情况下,该行基于user.id. 我敢打赌,您有一个default_scopeon 用户,该特定用户被过滤掉了。尝试使用User.unscoped.update_all(attrs, { id: user.id })

于 2013-02-25T06:14:06.247 回答