74 filesupdated Jun 14, 2026
files17Download
./.githubJun 14, 2026./environmentsJun 14, 2026./libJun 14, 2026./scriptJun 14, 2026./specJun 14, 2026./spec-non-railsJun 14, 2026.envrcJun 14, 2026.gitignoreJun 14, 2026.rspecJun 14, 2026BrewfileJun 14, 2026CONTRIBUTING.mdJun 14, 2026docker-compose.ymlJun 14, 2026GemfileJun 14, 2026init.rbJun 14, 2026LICENSEJun 14, 2026README.mdJun 14, 2026will_paginate.gemspecJun 14, 2026README
will_paginate
will_paginate is a pagination library that integrates with Ruby on Rails, Sinatra, Hanami::View, and Sequel.
gem 'will_paginate', '~> 4.0'
See installation instructions on the wiki for more info.
ℹ️ will_paginate is now in maintenance mode and it will not be receiving new features. See alternatives
Basic will_paginate use
## perform a paginated query:
@posts = Post.paginate(page: params[:page])
# or, use an explicit "per page" limit:
Post.paginate(page: params[:page], per_page: 30)
## render page links in the view:
<%= will_paginate @posts %>
And that's it! You're done. You just need to add some CSS styles to make those pagination links prettier.
You can customize the default "per_page" value:
# for the Post model
class Post
self.per_page = 10
end
# set per_page globally
WillPaginate.per_page = 10
New in Active Record 3:
# paginate in Active Record now returns a Relation
Post.where(published: true).paginate(page: params[:page]).order(id: :desc)
# the new, shorter page() method
Post.page(params[:page]).order(created_at: :desc)
See the wiki for more documentation. Report bugs on GitHub.
Happy paginating.