2013-01-18 50 views
24

我从Rails应用程序中获取对象列表,并使用will_paginate作为平常页面,然后使用一些方法将搜索详细信息保存到数据库:使用will_paginate从Rails查询中获取总计结果数

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)永远是< = per_page用于will_paginate。

我明白这是为什么,但有没有办法解决这个问题,而无需两次运行查询,一次使用will_paginate,一次没有?

回答

62

尝试<%[email protected]_entries%>

+0

辉煌,谢谢。将在9分钟内接受,当SO允许时 –

+0

无后顾之忧.. :) –

+0

不幸的是,这意味着第二次SQL查询,有没有办法做到这一点? – bcackerman