Допустим, у меня есть ActiveRecord с именем Apples, и я хочу метод класса, который вычисляет общую стоимость каждого яблока в моей базе данных, например:
def Apples.total_price
Apples.sum(:price)
end
Это метод, который я использую в одном из моих представлений для создания круговой диаграммы. Итак, что-то вроде:
Apples.brand («красный вкусный»). Sum (: price) /Apples.total_price =% от круговой диаграммы
Apples.brand ("fuji"). Sum (: price) /Apples.total_price = еще один% от круговой диаграммы
Apples.total_price вызывается многократно, но в этот момент значение не изменится. А) Делает ли Rails запрос неоднократно, или он знает, что кэшировать значение? И если он вызывает его несколько раз, каков наилучший способ определить метод в Apple, чтобы эта total_price только один раз вычислялась для времени выполнения этого представления?