#ruby-on-rails #pagination
#ruby-on-rails #разбивка на страницы
Вопрос:
Я создаю приложение, используя разбиение на страницы и поиск.
Мой контроллер:
def index
@q = Stockdiary.all.ransack(params[:q])
@stockdiaries = @q.result.joins(:product).group(:PRODUCT).select("SUM(UNITS) AS UNITS, SUM(PRICE) AS PRICE").paginate(:page => params[:page], :per_page => 30)
end
Тогда, на мой взгляд, у меня есть это, чтобы показать количество найденных записей:
<div> <%= pluralize(@stockdiaries.size, 'stockdiary') %> found</div>
Но поскольку я применяю group, это показывает
{"1"=>6, "103"=>2, "104"=>1, "106"=>2, "115"=>2, "116"=>1, "118"=>1, "122"=>1, "124"=>2, "13"=>6, "130"=>1, "133"=>3, "137"=>2, "138"=>2, "14"=>2, "140"=>1, "142"=>1, "144"=>1, "145"=>1, "146"=>2, "148"=>3, "149"=>1, "151"=>3, "152"=>3, "154"=>4, "16"=>4, "160"=>1, "161"=>1, "163"=>2, "166"=>1, "170"=>2, "174"=>1, "18"=>2, "19"=>1, "2"=>1, "25"=>3, "27"=>2, "29"=>1, "31"=>1, "33"=>1, "34"=>1, "43"=>2, "49"=>2, "56"=>1, "70"=>6, "73"=>4, "83"=>1, "9"=>2, "9e249a40-82d3-499f-a2b8-9f8613ecfe81"=>2, "bcea85d5-2596-4e41-8245-e520bc2b07a8"=>2} stockdiaries found
который показывает количество записей для каждого продукта (поскольку он сгруппирован по продукту). Очевидно, что мне нужно показывать только общее количество записей, а не для каждого продукта.
Как это исправить?
Ответ №1:
Вы можете использовать sum
<div><%= pluralize(@stockdiaries.size.values.sum, 'stockdiary') %> found</div>