Как вы используете Kaminari, чтобы разбить страницу на страницы по числовому значению?

Я настроил Kaminari так, чтобы он мог точно разбивать на страницы по заголовкам, если я сделаю это:

def index
...
@posts = Post.order('title').page(params[:page]).per(5)
...
end

у меня также есть <% paginate%> в представлении

но если я попробую что-то подобное

@posts = Post.order('pageviews').page(params[:page]).per(5)

это перестает работать. Там нет ошибок или ошибок, но просто кажется, что они отсортированы произвольно. Возможно по дате. Как так?

2 ответа

Решение

Во-первых, правильно ли он отсортирован без Каминари? Я имею в виду, как это Post.order('pageviews') отсортирован?

Далее, вы можете проверить выходной SQL? Как это отсортировано, если вы запускаете

Post.order('pageviews').page(1).to_sql

результат на вашей консоли БД?

Может быть вам нужно desc при заказе? потому что в настоящее время он будет заказывать 0 просмотров в первую очередь.

 Post.order('pageviews desc')
Другие вопросы по тегам