使用 will_paginate 进行分页和简单查询
在命令行下使用 gem install will_paginate 命令,出现下面结果安装成功
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZwpmLykjM4Y2Y1MWZkhjNtEDMllTL1QjZz0SNihjZtUWM1UjM3MjNvwVNykDN5EzLcRnbl1GajFGd0F2LcRWYvxGc19CXt92YuUWelRXauwGZvw1LcpDc0RHaiojIsJye.jpg)
打开 books_controller.rb (你自己的控制器)
注释掉查找全部的方法,使用下面的方法,已经集成根据title进行查询
#@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_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>
打开环境文件 environment.rb 在end后添加
require "will_paginate"
运行效果如下