在控制器创建期间RoR sum相关记录

时间:2012-05-22 18:38:16

标签: ruby-on-rails

我有table = expenses和invlines(发票行)。

费用belongs_to Invline

Invline has_many费用

使用Invlines输入表单,我让用户选择费用。

保存Invlines记录后,我想总结费用并将其放入invline.price

在Invlines控制器中我试图使用:

def create
@invline = Invline.new(params[:invline])
@invline.price ||= @invline.expenses.amount.sum

但是,我得到了

undefined method `amount'

想法? 谢谢!

1 个答案:

答案 0 :(得分:1)

替换:

@invline.price ||= @invline.expenses.amount.sum

@invline.price ||= @invline.expenses.sum(:amount)

.expenses来电会返回费用清单,但只有特定费用才有amount