在每个“每个do”循环中在Rails中进行基本数学并得到总和

时间:2013-11-09 01:41:28

标签: ruby-on-rails loops view model

Rails新手!我有与广告系列相关的产品。每个@product都有一个.price和.orders_count。

我想要做的是将每个@product的.price与.orders_count相乘,并将它们全部加起来以获得@campaign的总成本。

是Rails的新手,不知道如何编写语法并在视图中有以下内容。这是第一部分,但最后并没有将它们全部添加。谢谢你的帮助!

<% @products.each do |p| %>
    <% if p.orders_count? %>
        <%= (number_to_currency((p.price) * p.orders_count)) %>
    <% end %>
<% end %>

1 个答案:

答案 0 :(得分:3)

尝试设置变量以跟踪所有产品的总和,并在每次循环时将产品添加到其中。试试这个:

<% sum = 0 %>
<% @products.each do |p| %>
    <% if p.orders_count? %>
        <% product = (number_to_currency((p.price) * p.orders_count)) %>
        <% sum += product %>
        <%= product %>
    <% end %>
<% end %>

The sum is: <%= sum %>