Will Paginate
Pagination is just limiting the number of records displayed. Why should you let it get in your way while developing, then? This plugin makes magic happen. Did you ever want to be able to do just this on a model:
Post.paginate :page => 1, :order => 'created_at DESC'
… and then render the page links with a single view helper? Well, now you can.
Some resources to get you started:
- Your mind reels with questions? Join our Google group[http://groups.google.com/group/will_paginate].
- The will_paginate project page: http://github.com/mislav/will_paginate
- How to report bugs: http://github.com/mislav/will_paginate/wikis/report-bugs
- Ryan Bates made an awesome screencast[http://railscasts.com/episodes/51], check it out.
Example usage
Use a paginate finder in the controller:
@posts = Post.paginate_by_board_id @board.id, :page => params[:page], :order => 'updated_at DESC'
Yeah, paginate works just like find — it just doesn’t fetch all the records. Don’t forget to tell it which page you want, or it will complain! Read more on WillPaginate::Finder::ClassMethods.
Render the posts in your view like you would normally do. When you need to render pagination, just stick this in:
<%= will_paginate @posts %>
You’re done.