Rails ShopifyAPI :: Продукт не возвращает total_count, разбиение на страницы не работает с использованием shopify-kaminari - PullRequest
3 голосов
/ 12 февраля 2020

Информация о самоцвете:

  • omniauth-shopify-oauth2 (1.2.0)
  • shopify-kaminari (1.1.0)
  • shopify_api (4.3.2) 494b37a)
  • shopify_app (7.4.0)

Запрос :

parameters = {fields: 'id,title,url,handle', page: params[:page] || 1, limit: 5}
parameters = parameters.merge(title: params[:title]) if params[:title].present?

@products = ShopifyAPI::Product.find(:all, params: parameters)

Выпуск :

При запросе фильтра WITH для title результат не включает total_count.

Таким образом pagination не работает, не отображается в представлении.

<%= paginate @items, :pagination_class => 'pagination-centered', params: {title: params[:title], page: params[:page] || 1} %>

1 Ответ

0 голосов
/ 12 февраля 2020

В итоге я передал максимальный лимит для каждого запроса, равный 250. И тогда я бы использовал метод #fetch_next_page в коллекции.

products = ShopifyAPI::Product.find(:all, params: { limit: 250 }
# do something with the products
products.fetch_next_page if products.next_page?

Это будет приводить к извлечению записей партиями по 250, пока не будет следующей страницы, то есть она будет последней.

...