使用插件
1/ will_paginate
http://groups.google.com/group/will_paginate
這個(gè)資料很多,不多說(shuō)
2/ squirrel
下載:http://github.com/thoughtbot/squirrel/tree/master
主要實(shí)現(xiàn) 動(dòng)態(tài)條件的查詢,擴(kuò)展ActiveScaffold find方法。支持跨Model查詢,具體見(jiàn)
說(shuō)明:http://thoughtbot.com/projects/squirrel
貼段主要實(shí)現(xiàn)代碼
#controller:
def index
#######################################################
#下面代碼可以按實(shí)際情況提取到Model或其他地方;方便測(cè)試我直接放在index下
#######################################################
@permissions = Permission.find(:all) do
paginate :page => params[:page]||1,:per_page=>5
any do
name == params[:permission][:name] unless params[:permission].nil?
code == params[:permission][:code] unless params[:permission].nil?
permit_date == params[:permission][:permit_date] unless params[:permission].nil?
contact.company == params[:contact][:company] unless params[:contact].nil?
end
end
#######################################################
respond_to do |format|
format.html # index.rhtml
format.xml { render :xml => @permissions.to_xml }
end
end
#index--view
<% field_set_tag do %>
<% form_for :permission, :url=>permissions_url,:method=>:get,:html=>{:method=>:get} do |f| %>
公司名稱 :<%= text_field_with_auto_complete :contact, :company,{},{:method=>:get}%> <br>
證書(shū)類型 :<%= text_field_with_auto_complete :permission, :name,{},{:method=>:get}%> <br>
證書(shū)編號(hào) :<%= text_field_with_auto_complete :permission, :code,{},{:method=>:get}%> <br>
授與日期 :<%= text_field_with_auto_complete :permission, :permit_date,{},{:method=>:get}%> <br>
<%= submit_tag '查詢' %>
<% end %>
<% end %>
...
<div class="digg_pagination">
<div clas="page_info">
<%= page_entries_info @permissions %>
</div>
<%= will_paginate @permissions, :container => false %>
</div>