I have an action. It renders files specified by URL. If the file is a
source code, the action will do something on it, like highlighting.
If the file is a plaintext or an image, the action just sends it as
is.
This code works until I turn on cache on this action. With cache
enabled, the second time to access a URL will result in a prompt
dialog asking if you want to download it.
I guess it is related to the mimetype. But don't know how to solve it:(
The Rails action_cache does not keep the headers returned from the
first request that causes the data to be cached. On subsequent
requests, if you set the correct response.headers for the file *after*
the action cache before filter, then you will get the default headers
(text/html content type)
My action_cache filter will keep the headers returned, and will return
the same ones on subsequent requests.
Just install the plugin and restart your app -- for this fix, no other
configuration is needed.
Now I am using caches_action instead of caches_page and it works. Is
this a "Work as design"?
BTW: I think your plugin is useful. Can you make it default in rails?
I am not clear about rails development model. Just wondering.