У меня в моей программе много функций sum. Я перемещаю все суммы данных в отдельную модель ... позволяет называть ее ... суммами. Это вызовет эти числа быстрее, поскольку я не буду гвоздь базы данных каждый раз, когда мне нужно суммировать много строк.рельсы суммы модели
Что я хотел бы сделать, это обновить строку суммы (многие атрибуты) каждый раз, когда будут созданы или обновлены некоторые другие модели. Я пытаюсь сделать это через каждую модель, используя метод класса, но по какой-то причине не работает.
Мне интересно, где я могу создать универсальный метод, который можно вызвать из обратного вызова after_create для любых моделей, которые я выбираю. Сумма связана с учетной записью, которая не является обновляемой моделью. Другими моделями, связанными с учетной записью, являются те, которые попадут в модель сумм. Поэтому мне, вероятно, придется передать self.account_id методу обратного вызова.
Как модель версий Papertrails, которая обновляется каждый раз, когда сохраняется другая модель.
Выглядит отлично. Я попробую. Я думаю, если камень будет кешировать, то это лучший вариант, чем использование отдельной таблицы. Драгоценный камень не обновлялся в течение долгого времени ... есть ли новые или лучшие варианты? – hellion
Знаете ли вы, можете ли вы использовать статистику с ассоциациями? @ user.accounts.statistics (count:: all). У меня много помощников, которые подсчитывают или суммируют ... например, @ rating.flights.sum (: xc). Будет ли использование драгоценного камня statics сделать эти суммы и количество более эффективным? – hellion
[этот пример] (https://github.com/acatighera/statistics#reuse-scopes-you-already-have-defined) использует статистику по ассоциации 'has_many'. Это то, что вам нужно? Что касается эффективности, я боюсь, что не могу обобщить, это довольно субъективно. До сих пор у меня не было жалоб на производительность. –