web-dev-qa-db-ja.com

will_paginateを使用してRailsクエリから合計結果数を取得する

Railsアプリからオブジェクトのリストを取得し、通常どおりwill_paginateを使用してページを作成します。次に、検索の詳細をデータベースに保存するための小さなメソッドを使用します。

per_page=10
session[:search_params] = params[:search_people]
@documents = Person.search_people(params[:search_people], params[:page], per_page)

Search.create(:user_id     => (!current_user ? 0 : current_user.id),
   :search_type => "Person", 
   :firstname   => params[:search_people][:first_name], 
   :lastname    => params[:search_people][:last_name],
   :results     => @documents.count )

問題は、検索結果の数(@ douments.count)が常に<= will_paginateに使用されるページごとであるということです。

これがなぜであるかは理解していますが、1回はwill_paginateを使用し、もう1回は使用せずに、クエリを2回実行せずに回避する方法はありますか?

25
Christian Mayne

<%[email protected]_entries%>をお試しください

71
Yunwei.W