I’m going to stick to using string paths, as opposed to hashes, for fragment caching (storing the page in pieces basically). Especially when you have multiple parameters outside of the basic controller and action. I am using a per page parameter as well as a page parameter. Lots of cached fragments to manage in those cases.
It’s been rough disecting exactly how Rails manages cache. I had the exact same hash going to my cache, expire_fragment, read_fragment functions, but expire_fragment wasn’t working. I suspect routes are factored in there somewhere and I don’t have the time to figure it out exactly.
Lately I’ve been learning a lesson. That lesson being, it’s nice to do things entirely the correct way, but sometimes you just got to get more done.