2013-01-18 12 views
24

Rails uygulamasından bir nesne listesi alıyorum ve her zamanki gibi sayfaya will_paginate kullanıyorum ve sonra da aramanın ayrıntılarını veritabanına kaydetmek için küçük bir yöntem kullanıyorum:will_paginate kullanarak Rails sorgusundan toplam sonuç sayısı alınıyor

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) 

sorun ise, arama sonuçlarının sayısı (@ douments.count) will_paginate için kullanılan < = per_page her zaman.

Bunun nedenini anlıyorum, ancak bir kez sor_paginate ile ve bir kez olmadan sorguyu iki kez çalıştırmadan bunun etrafında bir yolu var mı?

cevap

62

<%[email protected]_entries%> Adres

+0

Parlak, teşekkürler. SO, –

+0

izin verir 9 dakika içinde kabul edecek Endişe .. :) –

+0

Ne yazık ki bu ikinci bir SQL sorgu, bu olmadan bunu yapmak için ne anlama geliyor? – bcackerman