上下文:我有 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) %>