Stronicowanie to zło

No właśnie.
Nawet twórcy Railsów przyznają że helper stronicowania wbudowany w framework nie jest najlepszym/najszybszym rozwiązaniem.
Z tego co wyczytałem problem leży w metodzie paginate() a dokładniej w tym że “Rails will by default instantiate a number of ?Page? classes and Window classes once you start using the more advanced features of the helper. Now, instantiating 100+ objects for generating 5 links is never a good idea, ok, point taken.”

Obejście problemu w ten sposób da radę? Czy może Paginator też ma w sobie jakieś wewnętrzne ukryte fuj?

@task_count = Task.count(["status = ?", status]) @task_pages = Paginator.new(self, @task_count, items_per_page, page) @tasks = Task.find(:all, :conditions => ["status = ?", status], :order => "deadline ASC", :limit => items_per_page, :offset => offset)
Napisać własny helper? Używać wynalazków takich jak ten?

Tak, paginating_find to najlepsza alternatywa.
A tu sa gotowy helper i przyklad http://www.igvita.com/blog/2006/09/10/faster-pagination-in-rails/.