As I mentioned in my “Rails rant last week”:http://www.manton.org/2009/01/rails_4_years_later.html, I have an unhealthy distrust for Rails plug-ins and monkey-patching gems. In addition to often breaking when you upgrade Rails, too many high-level abstractions can make it difficult to understand and debug the code later when things go wrong. For those reasons I will sometimes roll my own solution instead of using someone else’s. (As an aside, I rarely do this with Mac development, perhaps because I understand the internals of Mac frameworks much better than I do for the Rails core.)
But I’ve just been so impressed with the “will_paginate”:http://wiki.github.com/mislav/will_paginate plug-in. It’s fast and there are no obvious compromises — good out-of-the-box defaults and enough hooks that it can be customized.
If you are doing any Ruby on Rails work and haven’t checked it out yet, I think you’ll find that will_paginate is a very elegant solution to something every web app is going to need.