我正在使用update_all
直接在数据库上更新特定记录。我在一个解析csv文件的脚本中这样做。我知道update_all
返回一个关于更改了多少行的整数。有些行返回1,有些返回0,这意味着没有行受到影响。
attrs = list of user attributes
User.update_all(attrs, { id: user.id })
提前致谢!
答案 0 :(得分:6)
这通常发生在数据库找不到特定行时,在这种情况下,该行基于user.id
。我打赌你有一个default_scope
用户正在筛选出该特定用户。尝试使用User.unscoped.update_all(attrs, { id: user.id })