Need help with will_paginate?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

5.6K Stars 882 Forks MIT License 752 Commits 55 Opened issues


Pagination library for Rails, Sinatra, Merb, DataMapper, and more

Services available


Need anything else?

Contributors list


will_paginate is a pagination library that integrates with Ruby on Rails, Sinatra, Hanami::View, Merb, DataMapper and Sequel.

gem 'will_paginate', '~> 3.3'

See installation instructions on the wiki for more info.

ℹ️ willpaginate 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:

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

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[:page]).order('created_at DESC')

See the wiki for more documentation. Report bugs on GitHub.

Happy paginating.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.