2
我有貸款與交易對象的Rails 3應用程序。當交易被保存,我想扣減Loan.amount_remaining的Transaction.amount在after_save的模型的方法,modify_loan,在交易模型。的Rails 3更新關聯模型
這是該代碼的最好的地方(而不是要求在貸款模型的更新方法),如果是這樣,我怎麼從交易模式,訪問和保存貸款數據?
這是我一直在努力做的事情:
class Transaction < ActiveRecord::Base
belongs_to :loan
belongs_to :customer
after_save :modify_loan
def modify_loan
newamount = Loan.amount_remaining - self.amount
if amount >= 0
Loan.amount_remaining = newamount
else
nil
end
end
end
然而,這顯然是行不通的。有誰知道這樣做的正確方法?我覺得我已經使用Model.build發現了一些相關的問題,但是這是如何使用的?
謝謝!這是有道理的,並且交易沒有發生任何錯誤。但是,Loan.amount_remaining未正確更新。看來,self.amount從未減去即使Transaction.amount在交易數據庫顯示正確。你知道這是爲什麼嗎? self.amount正確的方式來做到這一點? – Justin 2011-05-23 18:34:28