Я использую последнюю версию will_paginate с rails 3. Я хотел бы использовать out_of_bounds?установить текущую страницу на последнюю страницу, если параметр страницы выше, чем последняя страница.Я нашел способ сделать это так:
people = People.all.paginate :page => params[:page], :per_page => 20
@people = people.paginate(:page => (people.out_of_bounds? ? people.total_pages : params[:page))
Проблема в том, что мне приходится дважды вызывать paginate.Первый раз для создания WillPaginate :: Collection для использования out_of_bounds?и методы total_pages, и второй раз, чтобы фактически установить текущую страницу.Я также должен сделать это с большим количеством действий, так что это становится немного лучше.Я также не могу использовать before_filter или after_filter (не думаю?).Есть ли лучший способ добиться этого?