RJS templates and Caching

Hi All,

I’m using RJS templates extensively in my app, but now that I’ve gone
back and started trying to cache some common things, I’m finding that
RJS templates and caching don’t seem to go well together.

It seems that I can’t do any page or action caching on an rjs template,
because even though it gets cached, when it’s served back up the mime
type is text/html instead of text/js, and the browser tries to plop the
javascript into the page rather than executing it.

I can cache content in the partials that the rjs template references
via fragment caching, but that’s very limited because, as I understand
it, fragments can’t be cached based on url paramaters like the other
caching methods.

Does anyone have any good ideas on how to cache rjs templates?


I think I figured it out. You can use action caching with rjs
templates, you just need to add an after_filter on that action that
looks like this (name it whatever you want):

def returns_rjs
@headers[“Content-Type”] = ‘text/javascript’

Then your rjs actions can be cached like their rhtml counterparts.

  • Tom L.

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs