Ошибка с пагинацией Каминари - PullRequest
2 голосов
/ 20 июля 2011

Я хотел бы разбить свои объекты на страницы с помощью драгоценного камня пагинации Kaminari. У меня есть эта строка в моем контроллере:

@products = Product.order("id").find_all_by_id(params[:id])

Эта строка на мой взгляд:

<%= paginate @products %>

И эта строка в моей модели:

paginates_per 20

Когда я открываю свою страницу, где мои объекты должны быть перечислены, у меня появляется это сообщение об ошибке:

undefined method `current_page' for #<Array:0x2964690>

Исключение возникает в моей строке <%= paginate @products %>.

Я уже сделал нумерацию страниц для другого проекта, и он работал очень хорошо. Может ли кто-нибудь помочь мне, пожалуйста?

Спасибо!

1 Ответ

6 голосов
/ 20 июля 2011

Edit:

Проблема в том, что find_all_by_* возвращает массив, а не ActiveRecord :: Relation.

Вместо этого вы можете сделать что-то подобное

@products = Product.order("id").where("id IN (?)", params[:id])

Кроме того, вы, вероятно, должны иметь там .page(params[:page]).

...