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