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:(
on 2007-02-12 12:02
on 2007-02-13 09:42
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.
on 2007-02-15 08:30
So where can I get your plugin? Thanks in advance.
on 2007-02-15 08:35
on 2007-02-15 09:38
Ben's agile development site is always the best place to find plugins.
on 2007-02-15 16:40
Opps, I've installed your plugin but still have the problem. It's my first time to use rails plugin. I am not sure if I've done things right. I installed the plugin by "./script/plugin install http://craz8.com/ svn/trunk/plugins/action_cache". But how can I know this plugin is working?
on 2007-02-15 21:38
Are you setting the correct mime type in your action that returns the file? Can you post the code for that action?
on 2007-02-16 03:49
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. Anyway, thanks a lot.