查看帮助以汇总订单项金额

时间:2012-02-20 00:26:30

标签: sql ruby-on-rails ruby

我有一个视图帮助器,它总计了订单项中的商品。每个订单都可以包含多个订单项。每个订单项内部都有不同的尺寸(字段)。为此,我很好奇如何为多个订单项总结某个字段。

 def total_items(order)
        xxs = order.lineitems.xxs.sum
       return xxs
 end

这是我所拥有但当订单有多个订单项时不起作用,我该如何正确编写?

1 个答案:

答案 0 :(得分:1)

你要问的不是很明显,但我认为你想要的是这样的:

 def total_items(order)
    order.lineitems.inject(0) { |total, line_item| total + line_item.xxs }
 end

这种方法的作用类似于:

 def total_items(order)
    total = 0;
    order.lineitems.each do |line_item|
        total += line_item.xxs
    end
    total
 end

顺便说一下,在Ruby中return关键字是可选的。