我有一个视图帮助器,它总计了订单项中的商品。每个订单都可以包含多个订单项。每个订单项内部都有不同的尺寸(字段)。为此,我很好奇如何为多个订单项总结某个字段。
def total_items(order)
xxs = order.lineitems.xxs.sum
return xxs
end
这是我所拥有但当订单有多个订单项时不起作用,我该如何正确编写?
答案 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
关键字是可选的。