我有以下(簡化模型)並希望訪問對象的to_json方法中的「已用」值,理想情況下是對象的屬性。將has_many關係的總和添加到模型的屬性
class Task < ActiveRecord::Base
has_many :hours
def spent
self.hours.sum(:spent)
end
end
有沒有辦法做到這一點,而沒有定義方法和黑客to_json方法?我一直在尋找一種方法來使用範圍或通過黑客方法after_initialize,但是在模型上使用inspect或to_json時,這些方法都不會提供「已用」值。
我需要通過關係來解決這個問題,使用has_many樹上的模型。
是否沒有辦法將此方法的結果直接添加到屬性中,所以我不必操縱序列化? – beseku 2011-05-30 10:56:37
此外,這種方法不會對集合工作 - Job.to_json:method =>:花費不會產生花費的變量。 – beseku 2011-05-30 11:16:06