У меня есть страница продуктов с возможностью фильтрации, которая имеет_много вариантов с использованием гем pg_search, и она работает хорошо. Я пытаюсь показать общее количество результатов поиска как часть отображения результатов. То, что я сделал, как вы можете видеть ниже, частично работает — оно показывает количество вариантов, но не показывает общее количество; это показывает счет для каждого продукта.
products_controller.rb
def index
@products =
if params[:query]
@albums = Album.where(name: params[:query])
Product.search_for(params[:query])
else
# @albums - products is the default image gallery for all products index page
@albums = Album.where(name: 'products')
Product.order(:name)
end
end
продукты/index.html.erb
...
<% @products.each do |p| %>
<%= p.variations.count %> - variations
<% end %>
...
Скриншот того, что он отображает
Для результата, показанного ниже, он перебирает 2 продукта, каждый из которых имеет 1 вариант, поэтому он перечисляет их как отдельные, а не суммирует как общее количество. Он должен отображать 2 - variations
. Я понимаю, почему это делается именно так; Мне просто непонятно, как собирать результаты, складывать их и отображать количество.