[Rails] Re: Fragment caching and pagination

Alain Ravet arav2132 at biz.tiscali.be
Wed Feb 1 11:15:43 GMT 2006


Steve
    >..  how is pagination and  query strings handled with fragment 
caching?
    >  Does each page get its own fragment and query string identifier?

Yes. Each page related fragment is cached separately.

Here is what works for me:


In the view: (event/list.rhtml, a paginated view, with an optional 
'year' filter. )

    line 1:   <% cache(:controller => 'event', :action => 'list', :group 
=> visitor.group, :page => params[:page], :year => params[:year]) do%>
              ...

In the Controller:
    class EventController < ApplicationController
        cache_sweeper   :event_sweeper, :only => [:edit, :update, :new, 
:create, :destroy]
       ...

In the sweeper:
    class EventSweeper <  ActionController::Caching::BaseSweeper
        observe Event

        def after_save(record)
            expire_fragment  %r{event/list.*}
            expire_home_page
        end
        def after_destroy(record)
            expire_fragment  %r{event/list.*}
            expire_home_page
        end

end




More information about the Rails mailing list