私のRailsアプリにはこれがあります:
class Invoice < ActiveRecord::Base
has_many :payments
before_save :save_outstanding_amount
def save_outstanding_amount # atomic saving
self.outstanding_amount = new_outstanding_amount
end
def update_outstanding_amount # adds another SQL query
update_column(:outstanding_amount, new_outstanding_amount)
end
private
def new_outstanding_amount
total - payments.sum(&:amount)
end
end
Invoice
最初のメソッドがクラスのすべてのインスタンスから呼び出され、2 番目のメソッドが他のクラス (クラスなど) のすべてのインスタンスから呼び出されるように、これを動的にするにはどうすればよいPayment
でしょうか?