Обычный вариант использования для разбивки на страницы состоит в том, что вам нужны все остальные параметры (вам нужна n-я страница с теми же результатами), поэтому удалить некоторые параметры в запросе немного сложно.
Параметры, которые вы передаете в вызов paginate
, объединяются с параметрами текущей страницы для генерации ссылок. Это означает, что вы можете удалить параметры, установив их значение равным nil, если вы знаете, как они называются, например,
= paginate @items, params: { param1: nil }
. Вы можете сделать это программно, если хотите удалить все параметры из ссылки на страницы, но вы 'Я должен быть осторожен с «особыми» параметрами, т.е. вы, вероятно, хотите игнорировать :controller
и :action
, например. Например,
# Get a list of params we want to nullify
params_to_remove = params.keys.select { |param| ![:action, :controller, :page].include?(params) }
# Create a hash of those params mapped to nil
paging_params = params_to_remove.inject({}) { |param, hsh| hsh[param] = nil; hsh }
= paginate @items, params: paging_params