我有一个 ActiveRecord 模型数组,我想重新编号一列并批量更新它们。代码如下所示:
rules = subject.email_rules.order(:number)
rules.each_with_index do |rule, index|
rule.number = index + 1
end
EmailRule.update(rules.map(&:id), rules.map { |r| { number: r.number } })
但这会创建 N 个 SQL 语句,我想要 1,有没有办法做到这一点?