【发布时间】:2015-03-24 15:54:21
【问题描述】:
我有 3 个模型,用户、申请人和申请人委员会。
user has_many applicants
applicant has many applicant_commissions
我想将申请者委员会实例方法的sum返回给育儿模型。所以@user.getTotalCommission 将返回每个申请人的所有申请者佣金的总和。 @applicant.getTotalCommission 将返回属于该申请人的所有佣金,@applicant_commission.getTotalCommission 将返回仅一种佣金类型的总值。
在申请人委员会.rb 我有一个实例方法:
# Returns the full amount of commission that the post has earned from this commission group.
def getTotalCommission
#Does some calculations
return number_with_precision(total.round(2), :precision => 2)
end
申请人.rb
def getTotalCommission
self.applicant_commissions.to_a.sum(&:getTotalCommission)
end
用户.rb
def getTotalCommission
self.applicants.to_a.sum(&:getTotalCommission)
end
目前,如果我有 2 个申请人佣金,一个 12.20 和另一个 10.00,我得到 12.2010.00。期望的输出是 22.20。
它应该基于简单继承..所以也许我完全走错了路?
谢谢
【问题讨论】:
标签: ruby-on-rails inheritance ruby-on-rails-4.1