I prefer not to concatenate JavaScript files in design mode, but to serve them as separate files. Therefore, I configured:
development.rb:
config.assets.compress = false config.assets.debug = true config.assets.compile = true
In my / app / assets / javascript directory, I have:
reviews.js:
//= require jquery //= require jquery_ujs //= require_tree ./reviews
I enable JavaScript using <%= javascript_include_tag "reviews" %> in my layout. The generated page correctly references the three scripts separately, and reviews.js is essentially empty. So far so good.
Now that I am precompiling my assets for production with rake assets:precompile , the three JavaScript files are merged into reviews.js . This is normal for production, but now in development mode, the concatenated reviews.js serves additionally for two separate files.
Of course, this leads to all kinds of unpleasant development errors, because now the contents of foo.js and bar.js executed twice, one of them in a potentially earlier version in reviews.js .
How can I make sure that Rails does not use precompiled assets in development mode?
Ortwin Gentz Nov 04 '11 at 17:33 2011-11-04 17:33
source share