will_paginate是一个非常好用的分页插件,可用于Ruby on Rails, Sinatra, Merb, DataMapper 和Sequel。
源代码地址: https://github.com/mislav/will_paginate
这里讲下rails3里面的基本用法
1. 安装
在gemfile里面加上如下语句。然后运行bundle install,会自动安装。
gem 'will_paginate', '~> 3.0'
2.基本使用
。切换到第几页取那页数据的代码,一般在控制器中使用。
@posts = Post.paginate(:page => params[:page])
。也可以指定每页多少条记录,返回对应的记录数
@posts = Post.paginate(:page => params[:page], :per_page => 30)
。在视图(view)中显示分页链接
<%= will_paginate @posts %>
当然你可以更改默认的分页样式(css).
。你也可以在model中或者全局指定指定默认每个页面显示的记录数
# for the Post model
class Post
self.per_page = 10
end
# set per_page globally
WillPaginate.per_page = 10