I was attempting to cache an action that had a URL like this: http://foo.com/controller/action?years[]=2005&years[]=2006&bar=5&baz=blue which returns different data than, say http://foo.com/controller/action?years[]=2004&years[]=2005&bar=6&baz=red However, the cached fragment would always be named foo.com:3000/controller/action.cache, no matter what parameters where passed in, which would result in incorrect data being rendered on a cached page. I eventually tracked the culprit to ActionController::Base#url_for, which the fragment cacher calls well reading and writing the fragment. In my controller, I added this: def url_for(options = nil, *parameters_for_method_reference) super( options ? options : params, parameters_for_method_reference) end which sends the params hash as options, if no options are specified (as is the case with the cacher). So is this a bug in rails or a misunderstanding on my part as to the proper behavior? Am I doing something dangerous here by fiddling with one of the more used methods? Thanks, Andrew