使用.where的数组总和

Jam*_*s F 0 ruby ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1

可能是一个超级简单的解决方案,但试图弄清楚如何找到属于的'amount'整数列的总和:

@milestones = Milestone.where(:buyer_id => current_user.id).where(:status => 'Paid')
Run Code Online (Sandbox Code Playgroud)

<%= @milestones.amount.inject(:+) %>在视图中试过,没用.

Jor*_*ing 5

鉴于:

@milestones = Milestone.where( :buyer_id => current_user.id ).
                        where( :status   => 'Paid' )
Run Code Online (Sandbox Code Playgroud)

然后...

<%= @milestones.sum :amount %>
Run Code Online (Sandbox Code Playgroud)

要不就:

@milestones_sum = Milestone.where( :buyer_id => current_user.id,
                                   :status   => 'Paid'
                                 ).
                            sum( :amount )
Run Code Online (Sandbox Code Playgroud)

和...

<%= @milestones_sum %>
Run Code Online (Sandbox Code Playgroud)