【发布时间】:2011-10-16 02:38:43
【问题描述】:
上下文:我有 2 个模型 Order 和 Item。
我想根据 item.quantity * item.price 计算项目小计 目前这是在视图中完成的(但不是在适当的位置)。
<%= number_to_currency(item.quantity * item.price) %>
我还需要计算订单总数,但我卡住了。我没有任何专栏。 最好的方法是什么?使用模型?助手还是观察者?
现在我设法通过订单助手进行小计工作
def item_subtotal(item)
item_subtotal = item.quantity * item.price
end
工作解决方案:
物品模型
def subtotal
price * quantity
end
在视图中渲染<%= item.subtotal %>
订单型号
def total_price
total_price = items.inject(0) { |sum, p| sum + p.subtotal }
end
Order#show 视图渲染<%= number_to_currency(@order.total_price) %>
【问题讨论】:
标签: ruby-on-rails-3 sum subtotal