Я использую will_paginate, который работает как брелок для разбиения моих результатов на множество страниц.Но на любой странице, кроме первой, мой метод sum возвращает 0.
В моем представлении есть две таблицы.Первый - это сводная информация по всей коллекции, а второй - нумерация страниц.Страница 1 моей коллекции показывает все идеально.Страница> = 2 переводит «сумму» в 0, но. Количество все еще работает.
Мой контроллер:
def donations_by_season
@season_name = params[:season_name]
@donations = Donation.by_season(@season_name).paginate :page=>params[:page], :order=>'created_at desc', :per_page => 25
@valid_seasons = Donation.select(:season).group(:season)
end
У My Partial есть значения в верхней таблице:
<td> <%= number_to_currency @donations.sum(:amount) %></td>
<td><%= @donations.count %></td>
И это в нижней части:
<% @donations.each do |donation| %>
<tr class="<%= cycle("odd", "even", :name => "row_class") %> ">
<td><%= number_to_currency(donation.amount) %></td>
<td><%= donation.iho_full %></td>
<td><%= donation.box_code %></td>
<td><%= donation.list_name %></td>
</tr>
<% end %>
</table>
<p><%= will_paginate @donations %></p>
На первой странице number_to_currency @donations.sum(:amount)
и @donations.count
являются точными.После первой страницы .sum превращается в 0, но .count остается неизменным.Как мне заставить работать .sum?