#ruby-on-rails #drop-down-menu #pagination
#ruby-on-rails #выпадающее меню #разбивка на страницы
Вопрос:
Я использовал will_paginate для разбиения на страницы, теперь я хочу контролировать, сколько записей на одной странице. Я знаю, как взаимодействовать с данными из select_tag. пожалуйста, скажите мне, как вернуть данные в @page в контроллере.
Я использовал
<td><%= select_tag "count", "<option>10</option> <option>20</option>".html_safe%></td>
Контроллер
def index
@page = 10;
@users = User.order(:username).joins(:biography).where("`is_active?` = true AND `last_sign_in_at` > DATE_SUB(NOW(), INTERVAL 6 MONTH) ").paginate(:page => params[:page], :per_page => @page)
end
Комментарии:
1. Можете ли вы опубликовать код контроллера, в котором вы выполняете разбивку на страницы?
2. В зависимости от выбранного значения в
select_tag
вы хотите правильно настроить записи на странице? затем вы можете перейтиparams[:count]
кper_page
такой опции:per_page => params[:count]
3. Большое вам спасибо! это должно быть правильно
4. Или вы можете изменить
@page
на@page = params[:count]
Ответ №1:
Вы можете использовать params[:count]
вот так, чтобы получить количество записей на страницу на основе value selected
в select_tag
def index
@page = params[:count] #here
@users = User.order(:username).joins(:biography).where("is_active? = true AND last_sign_in_at > DATE_SUB(NOW(), INTERVAL 6 MONTH) ").paginate(:page => params[:page], :per_page => @page)
end