У меня есть следующее (упрощенная модель) и я хочу получить доступ к «потраченному» значению в методе to_json объекта, в идеале в качестве атрибута объекта.
class Task < ActiveRecord::Base
has_many :hours
def spent
self.hours.sum(:spent)
end
end
Есть ли способ сделать это без определения метода и взлома метода to_json? Я искал способ использования области действия или хакерства метода after_initialize, но ни один из этих методов не предоставляет «потраченное» значение при использовании inspect или to_json для модели.
Мне нужно решить эту проблему на моделях выше по дереву, которые используют has_many, также через отношения.