Ruby on Rails: показать результат по умолчанию перед использованием выпадающего фильтра с will_paginate - PullRequest
0 голосов
/ 19 декабря 2018

Я могу отобразить результаты на 10, 15 или 20, используя раскрывающийся список.Проблема заключается в том, что при загрузке приложения отображаются все результаты.Я хотел бы отобразить только 10 результатов по умолчанию, прежде чем использовать раскрывающийся фильтр для отображения дополнительных результатов.

Может кто-нибудь помочь, пожалуйста?

Спасибо!

Это мой ВИД:

<%= select_tag :per_page, options_for_select([10,15,20], @per_page), :onchange => "if(this.value){window.location='?per_page='+this.value;}" %>

Это мой КОНТРОЛЛЕР:

@per_page = params[:per_page] || Post.per_page
    @posts= Post.all.paginate(:per_page => @per_page, :page => params[:page])

1 Ответ

0 голосов
/ 19 декабря 2018

Попробуйте этот код:

@per_page = params[:per_page] || Post.per_page
@posts= Post.paginate(per_page: @per_page, page: params[:page])

Обратите внимание, что я вызываю paginate без самого класса Post, а не по результату Post.all.

Я также удалил последний || 10 часть.Я думаю, что он вам там не нужен, так как вы уже установили это значение на Post модель.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...