Рельсы 3,Kaminari нумерация страниц для простого массива

Для разбиения на страницы общего массива я получил это решение,

@arr_name = Kaminari.paginate_array (@arr_name).page (params [: page]). per (PER_PAGE_RECORDS)

PER_PAGE_RECORDS переменная со значением согласно нумерации страниц

Есть идеи получше??

Также для вызова ajax для использования нумерации страниц можно использовать это,

По вашему мнению,

дать идентификатор вашей вкладке div

div id="paginate"

и внутри

<% = paginate @arr_name,: remote => true %>

И в ответном файле JS положить,

$ ('# paginate'). html ('<% = escape_javascript (paginate (@arr_name,: remote => true).to_s)%>');

Таким образом, ваши запросы будут AJAX.

Благодарю.

1 ответ

Решение

Это единственный доступный вспомогательный метод для разбивки на объекты массива с помощью Kaminari. В качестве альтернативы, как предложено на вики-странице kaminari, добавьте методы экземпляра к объекту массива.

Если вы пытаетесь найти общее решение, основанное на типе возвращаемого значения ActiveModel ( .all возвращает массив, а.where возвращает ARL), то следующее решение - это обходной путь.

unless @arr_name.kind_of?(Array)
  @arr_name = @arr_name.page(params[:page]).per(PER_PAGE_RECORDS)
else
  @arr_name = Kaminari.paginate_array(@arr_name).page(params[:page]).per(PER_PAGE_RECORDS)
end
Другие вопросы по тегам