Удалите поле количеств_суммы из таблицы и добавьте метод количеств_сум к классу заказа, который суммирует количество_значений
class Order < ActiveRecord::Base
has_many :items
def quantity_sum
self.items.sum(:quantity)
end
end
Должен сделать свое дело. Все, что вам нужно сделать, это удалить любой код, который у вас есть, который обновляет поле amount_sum. Вы обнаружите, что, поскольку имя метода совпадает с именем поля (которое вы не должны забыть удалить), вам не придется реорганизовывать любой код, который его использует.
Очевидно, что вы должны быть осторожны, чтобы не использовать это поле излишне, как в списке всех заказов в системе, поскольку это будет довольно тяжело для базы данных. О.К. за несколько сотен записей, но вы заметите проблему с производительностью более тысячи заказов.
Не забудьте удалить это поле количества_суммы из таблицы заказов