创建或更新多个记录,如first_or_create.increment!(counter)

时间:2017-08-31 18:59:12

标签: ruby-on-rails

我的rails应用程序中有一个请求,每次发出请求时都需要创建或更新嵌套记录。

Model.where(id: 1).events.first_or_create.increment!(:counter)

这很好用,但今天我需要对很多对象做同样的事情

Model.where(created_at: start..end).map{|m|
  m.events.first_or_create.increment!(:counter)
}

我可以致电update_all('counter = counter + 1'),但我无法确定每个模型是否都有相关事件,因此first_or_create

有没有办法改善这个电话?请记住一些请求选择超过5000条记录

0 个答案:

没有答案