Мне нужно обновлять свои данные итеративно.
Но следующий способ, которого я достиг, слишком трудоемкий.
Могу ли я обновить несколько записей с помощью хеша id-value
?
SUBST = ''.freeze
re = /<p>|<\/p>/m
(1..1000).each do |id|
choice = QuestionChoice.find id
choice.selections.gsub!(re, SUBST)
choice.save! if choice.changed?
end
Обновление:
Поскольку я обнаружил, что мой код можно улучшить, используя where
Как и в следующем
QuestionChoice.where(id: (1..1000)).each do |choice|
choice.selections.gsub!(re, SUBST)
choice.save! if choice.changed?
end
Но теперьМне по-прежнему нужно звонить save!
для каждой записи, которая будет стоить много времени.