2
我正在使用最新版本的will_paginate與rails 3.我想使用out_of_bounds?如果頁面參數高於最後一頁,則將當前頁面設置爲最後一頁。我找到了這樣做的方法:在will_paginate中使用helper方法的更好方法是什麼?
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,或者(我不認爲?)。有沒有更好的方法來實現這一目標?