2012-08-05 3 views
5

Я следую за railscast для Kaminari (http://railscasts.com/episodes/254-pagination-with-kaminari). Но я застрял с частью контроллера.Rails Kaminari - Как заказать/массивы paginate?

В моем контроллере, у меня есть что-то вроде этого:

def index 
    @articles = (params[:mine] == "true") ? current_user.articles : Article.search(params[:search]) 

    respond_to do |format| 
    format.html 
    format.json { render json: @articles } 
    end 
end 

И теперь я не знаю, как цепь методов, порядка, страница и на, как в скринкасте .order("name").page(params[:page]).per(5). Я продолжаю получать «порядок» метода в массиве. Я знаю, что не могу вызывать методы на массивах, но как еще я могу их связать?

ответ

17

Вы можете использовать Kaminari на Массивы:

Kaminari.paginate_array(@articles).page(params[:page]).per(5) 

От documentation:

Kaminari обеспечивает класс-обертку массив, который адаптирует общий объект массива для помощника в paginate просмотра. Однако помощник paginate автоматически не обрабатывает ваш объект Array (это намеренно и по дизайну). Метод Kaminari::paginate_array преобразует ваш объект Array в массив paginatable, который принимает метод page.

+0

работал как очарование! – maru

Смежные вопросы