Пагинация удаляет AR области в контроллере - PullRequest
0 голосов
/ 24 мая 2019

В настоящее время используется api-pagination gem с kaminari .У меня также есть простая область действия, чтобы ограничить количество возвращаемых объектов.По любой причине, хотя, нумерация страниц удаляет возвращаемый массив области и просто дает мне общий разбитый на страницы массив.Кто-нибудь еще сталкивался с этим?

class Album < ApplicationRecord
  scope :by_release_date, -> (limit) { limit(limit) }
end

class Api::AlbumsController < ApplicationController
  def index
    albums = paginate Album.by_release_date(1).per(params[:page])

    render json: Api::AlbumSerializer.new(albums).serialized_json
  end
end

1 Ответ

1 голос
/ 24 мая 2019

С помощью EngineeringMnky я обнаружил, что per имеет приоритет limit в моем случае.Имея это в виду, драгоценный камень api-pagination имеет опцию в своем методе нумерации страниц, per_page, которая помогает мне выполнить то, что я ищу.В итоге это будет выглядеть примерно так:

class Album < ApplicationRecord
  scope :by_release_date, -> direction { order("release_date #{direction}") }
end

albums = paginate Album.by_release_date, per_page: params[:per_page]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...