[LRUG] Rails 4 asset deployment woes
James Coglan
jcoglan at gmail.com
Mon Jul 15 04:45:58 PDT 2013
I'm struggling with getting asset deployment to work after upgrading a few
of our apps to Rails 4. I have two main problems:
* We cannot reference images/fonts from stylesheets
* Our CSS/JS is no longer being minified in production
The first one is because Rails no longer generates unversioned filenames in
public/assets, so you need to have
body {
background: url(/assets/cat-abc123def456.jpg);
}
in your stylesheet rather than
body {
background: url(/assets/cat.jpg);
}
Of course, the latter works in development but not in production after
precompiling the assets. So, we need to know how to get those version
numbers into the CSS, since Rails does not rewrite these references by
default while precompiling assets.
Second, our CSS is not being minified, and we have no idea why. If you
clone https://github.com/jcoglan/rails_assets, and run:
$ bundle exec rake assets:precompile
then it does not minify the code in public/assets, which we assumed was
because config/environments/development.rb sets config.assets.debug = true.
If you compile in production:
$ RAILS_ENV=production bundle exec rake assets:precompile
then it does minify the CSS. So, we figured there must be a config
difference and that would explain why our code is not being minified in our
production apps that have been upgraded from Rails 3 to 4. So, I deleted
all the code from config/environments/{development,production}.rb and it
still does the same thing: no minification in development mode, and
minified code in production. So it doesn't seem like a config thing -- is
this difference baked in Rails? What am I doing wrong? Why would our
production apps not be minifying their CSS?
--
James Coglan
http://jcoglan.com
+44 (0) 7771512510
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lrug.org/pipermail/chat-lrug.org/attachments/20130715/5d219b00/attachment-0003.html>
More information about the Chat
mailing list