(Config: Rails 2.3.2, Ruby 1.8.7, apache 2.2, assets are served from a
dedicated host specified in ActionController::Base.asset_host, in the
filesystem they are stored in a different folder than the RAILS_ROOT/
I face a problem with asset timestamps being changed for all my assets
when just one asset file has changed. Consequently it bursts the cache
of client browsers for all my assets, whereas I would like that only
the timestamp of the changed asset file be changed, so that others
assets are not bursted in the browser caches.
- I change one asset file on my dev machine.
- I deploy the new version of my app to my production server.
- A script automatically updates the assets which have changed, ie in
my assets folder only the asset file I changed initially has a changed
- But when I reload a page of my app, I see in the page source code
that the timestamps automatically added by Rails to the asset files
are updated for all assets, not just for the changed asset
Is it the Rails expected behaviour? If so, is there a workaround to
have Rails change only the timestamp of the effectively changed asset
files? If there is no workaround, is there any other strategy to force
bursting cache of changed assets, whereas preserving the clients cache
of unchanged assets?
Thanks by advance for your help