Report abuse


			
class MyModel < ActiveRecord::Base
  acts_as_cached
  after_save :expire_pages
  Pages   = 5
  PageKey = "paginate_page_%d_per_page_5_etc"

  def expire_pages
    1.upto(Pages) do |page|
      self.class.expire_cache(PageKey % page)
    end
  end

  def self.cached_page(page)
    page = page.to_i
    return fetch_page(page) if page > Pages

    get_cache(PageKey % page) do
      fetch_page(page)
    end
  end

  def self.fetch_page(page)
    paginate(:page => page, :per_page => 5, blah)
  end  
end