So using the magic :cache argument to combine multiple CSS or JS files
into one cached file, using stylesheet_link_tag or
javascript_include_tag respectively…
I sort of figured that if the arguments to the function changed,
including different files… the combined cached file would be
re-generated.
This does not seem to be the case.
javascript_include_tag “a”, “b”, :cache => “my_key”
Stop application. Edit the code to be:
javascript_include_tag “a”, “b”, “c”, :cache => “my_key”
Restart the application. Run it. The combined cached my_key.js file
still only includes “a” and “b”, the cached file was not invalidated
when I added “c” to it. I had to go and find the file and rm it myself.
Is this a bug? Or is this expected behavior? Is there something I’m
missing? Under what circumstances is the cached file supposed to be
regenerated? If the last-modified timestamp changes on one of the
included files, will it be regenerated? Will it EVER be re-generated?
Jonathan R. wrote:
Is this a bug? Or is this expected behavior? Is there something I’m
missing? Under what circumstances is the cached file supposed to be
regenerated? If the last-modified timestamp changes on one of the
included files, will it be regenerated? Will it EVER be re-generated?
I see the same behavior, and I basically use the same solution. Probably
not a bad idea to add a step to your Capistrano (or whatever deploy
tool) to delete those files on each deployment.
Robert W. wrote:
Jonathan R. wrote:
Is this a bug? Or is this expected behavior? Is there something I’m
missing? Under what circumstances is the cached file supposed to be
regenerated? If the last-modified timestamp changes on one of the
included files, will it be regenerated? Will it EVER be re-generated?
I see the same behavior, and I basically use the same solution. Probably
not a bad idea to add a step to your Capistrano (or whatever deploy
tool) to delete those files on each deployment.
Thanks for the response. I’m thinking this is a bug, and I’ll try to go
ahead and file it in the tracker, although I lack the Rails fu to fix it
myself.
In the absence of a fix, could also add something to your Rails app
startup routines to delete the files, to work regardless of Capistrano
use or not.
Hi Jonathan
Read this also.
http://maintainable.com/articles/rails_asset_cache
If any modification happens to js or css as specified, then before next
release you can apply this trick
Sijo