The best article I read was this one: http://tomayko.com/writings/things-caches-do It really explains well how caching works.
Quick and dirty list of controller helpers for Rails: @cinema = Cinema.find(params[:id]) if stale?(:last_modified => @cinema.updated_at.utc, :etag => @cinema) expires_in 5.minutes, :public => true end guide: http://guides.rubyonrails.org/caching_with_rails.html#conditional-get-support For the JS it's quite straight forward, a good example would be: http://theshownation.com/ (look at the JS source and the DOM) Here is the part you care about: https://gist.github.com/1073832 You can't use the session since the page is cached, so instead what you do is when the user logs in, you set another cookie with the username for instance. In your controller it would like something like: cookies[:username] session[:username] Then when the DOM is loaded, you call a handler function such as handleCachedUserLinks() in the example above. The handler gets the username from the cookie and then changes the DOM accordingly and makes an ajax call to get the extra data needed if it's not stored in the cookie. You should start by doing the JS part and once you have that up and running, turn on the caching (literally 2 or 3 lines of code per action max). In dev mode, if you don't want to setup nginx + varnish, you can use rack-cache. I hope that helps, - Matt On Sat, Jul 9, 2011 at 10:00 AM, Patrick Crowley <[email protected]>wrote: > Hey, folks. > > I'm adding varnish-based caching support to my app. > > If this is going to work, though, I need to update our user greeting to > work via javascript so we can dynamically add the user greeting to the > static logged-out version of our pages that we're caching. > > Do you know any good blog posts or docs for this? > > Here are a few more details about the app: > - Rails 2.3.10 on Ruby 1.8.7 > - Clearance for authentication > - Hosted on Heroku > > Cheers, > Patrick > > -- > SD Ruby mailing list > [email protected] > http://groups.google.com/group/sdruby -- SD Ruby mailing list [email protected] http://groups.google.com/group/sdruby
