Clear the cache from the Rails asset pipeline
asset-pipeline, caching, javascript, ruby-on-rails, ruby-on-rails-3.1
Solution
I'm assuming we're talking about the production environment.
When you change any of your javascripts or stylesheets in the production environment, you need to run `rake assets:precompile`; this task compiles and compresses the various .js and .css files and creates the application.js and application.css files that is loaded by your views.
It's possible that if you replaced `jquery.autoresize.js` with a version with an older timestamp, the precompile step might skip it, thinking the compiled version is up-to-date. You can avoid that by running `rake assets:clean` first, forcing it to rebuild everything in the `public/assets` directory from scratch.
Problem
I'm starting a new project in Rails, and it looks like the application.js manifest file is doing something funny with the javascripts that I reference - does it cache those files as part of the asset pipeline? Here's what happened. I added a javascript file named jquery.autoresize.js to the vendor/assets/javascripts folder, and then referenced the file in the application.js manifest like this: ``` //= require jquery.autoresize.js ``` Then I started up the rails server. But after navigating around in my app, I realized that I had accidentally added the wrong version of the jquery.autoresize.js file. So, I deleted that file and then added the correct version to the vendor/assets/javascripts folder. But, to my horror, when I reloaded the page, it is still loading the old javascript file. I tried emptying my browser cache, then exiting and restarting the Rails server, but to no avail. I hacked a solution together by simply renaming my javascript file and referencing the new name, which worked fine. But there has got to be a better solution to this. Does the new asset pipeline cache the files you reference somehow? If so, how can I clear that cache? Thanks for any help!