Налаштування на простому прикладі: у мене є 1 таблиця ( Totals), яка містить суму amountстовпця кожного запису у другій таблиці ( Things).
Коли a thing.amountоновлюється, я хотів би просто додати різницю між старим і новим значенням total.sum.
Зараз я віднімаю self.amountпід час before_updateі додаю self.amountпід час after_update. Це занадто багато довіряє успішному оновленню.
Обмеження: Я не хочу просто перерахувати суму всіх операцій.
Питання: Просто, я хотів би отримати доступ до вихідного значення під час after_updateзворотного дзвінка. Які способи ви придумали для цього?
Оновлення: Я йду з ідеєю Люка Франкла. Під час after_updateзворотного дзвінка ви все ще маєте доступ до self.attr_wasзначень, саме те, що я хотів. Я також вирішив піти з after_updateреалізацією, тому що хочу зберегти такий тип логіки в моделі. Таким чином, незалежно від того, як я вирішу оновлювати транзакції в майбутньому, я буду знати, що правильно оновлюю суму транзакцій. Дякуємо усім за ваші пропозиції щодо впровадження.