update_all不更新所有对象

时间:2017-11-13 16:12:05

标签: ruby-on-rails ruby

我的应用程序中有一个需要一次更新多个对象的评分系统。为了确保原子性,我使用update_all来增加计数器

rids = ["1", "3", "5", "7"]
lids = ["2", "4", "6", "8"]

User.where(id: rids).update_all("points_right = points_right + #{points}")
User.where(id: lids).update_all("points_left = points_left + #{points}")

那是在使用少量对象,但现在却丢失了一两个对象。

我做错了什么?

ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-darwin16]
Rails 5.1.3

0 个答案:

没有答案