使用 will_paginate 进行分页和简单查询
在命令行下使用 gem install will_paginate 命令,出现下面结果安装成功
打开 books_controller.rb (你自己的控制器)
注释掉查找全部的方法,使用下面的方法,已经集成根据title进行查询
- #@books=Book.all
- @books=Book.paginate:page=>params[:page],
- :per_page=>2,
- :conditions=>["titlelike?","%#{params[:search]}%"]
- respond_todo|format|
- format.html#index.html.erb
- format.xml{render:xml=>@books}
- end
- end
#@books = Book.all
@books = Book.paginate :page => params[:page],
:per_page => 2,
:conditions => ["title like ?", "%#{params[:search]}%"]
respond_to do |format|
format.html # index.html.erb
format.xml { render :xml => @books }
end
end
打开对应的 books_controller.rb 视图页面 index.html.erb
添加查询功能
- <%form_tagbooks_path,:method=>'get'do%>
- <p>
- <%=text_field_tag:search,params[:search]%>
- <%=submit_tag"Search",:name=>nil%>
- </p>
- <%end%>
<% form_tag books_path, :method => 'get' do %>
<p>
<%= text_field_tag :search, params[:search] %>
<%= submit_tag "Search", :name => nil %>
</p>
<% end %>
及分页功能
- <div>
- <div>
- <%=page_entries_info@books%>
- </div>
- <%=will_paginate@books,:container=>false%>
- </div>
<div>
<div >
<%= page_entries_info @books %>
</div>
<%= will_paginate @books, :container => false %>
</div>
打开环境文件 environment.rb 在end后添加
- require"will_paginate"
require "will_paginate"
运行效果如下
本文转自:http://95700900.javaeye.com/blog/573308