用户输入货件详细信息后,我必须在结帐页面上显示总价。我的购物车模型有一个 total_price 方法,我在视图上使用它来显示总价,例如
<%= number_to_currency(@cart.total_price) %>
现在我想显示总计,即 total_price + shipping。出货量是使用三个参数重量、状态和供应商来计算的。假设state和provider现在是不变的,我们只需要担心weight。因此,为此我在购物车模型中有一个 shipping_rate 方法,类似于。
def shipment_rate(weight, provider, state)
# calculation code here
end
在这样的视图中使用此方法是否很好:
<%- shipment = cart.shipment_rate(weight,'UPS','AK')%>
为此,我还必须提供购物车物品的总重量,我可以使用 @cart.total_weight 方法进行计算。Rails 这样做的方法是什么?从视图中调用这些方法是否很好,如下所示:
<%- total = @cart.total_price %>
<%- weight = @cart.total_weight %>
<%- shipment = cart.shipment_rate(weight,'UPS','AK')%>
...
然后在同一个视图中使用下面的这些值
<span>Amount: <%= number_to_currency total %></span>
<span>Shipment: <%= number_to_currency shipment %></span>
<span>Total: <%= number_to_currency total + shipment %></span>