Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Disable Asset Minification in Rails Production

In order to debug javascript in my heroku production environment, I need to disable asset compression (or at least compression of javascript). I tried config.assets.compress = false along with config.assets.debug = true, and the compressed assets were still used. I then deleted the compressed assets, at which point no assets were rendered at all. I added config.assets.enabled = false, which did not help. I tried copying the uncompressed assets into various directories, including the application root, public, and public/assets (the latter two using both the folders "images, "javascripts", and "stylesheets", and putting the assets directly into the folders without the three subfolders). I was eventually able to get the javascripts to work by changing the html to directly reference all of the javascript files. But the CSS and images still are not working.

I would have thought that my original config.assets.compress = false should have worked. Any ideas what I did wrong?

like image 299
Jack R-G Avatar asked Mar 12 '12 20:03

Jack R-G


2 Answers

I came up with this workaround after reading the docs:

create a module that does nothing to compress js / css here: lib/modules/no_compression.rb

class NoCompression   def compress(string)     # do nothing     string   end end 

configure your assets to (not) be compressed with your do-nothing compressor

config.assets.compress = true config.assets.js_compressor = NoCompression.new config.assets.css_compressor = NoCompression.new 
like image 161
ncherro Avatar answered Sep 29 '22 06:09

ncherro


Under Rails 4 just commenting out the line

# config.assets.js_compressor = :uglifier 

in config/environments/production.rb worked for me. Looks like default is no compresson.

like image 41
geekQ Avatar answered Sep 29 '22 07:09

geekQ