The asset pipeline changes the paths of CSS files during precompilation. This opens a world of pain when CSS files reference images (like jQuery UI) or fonts (like webfont kits from Font Squirrel), since all those url(images/icon.png)
will now point to a broken path.
In the past we have been using the vendor/asset-libs
folder as a good solution to work around this.
When you migrate to managing vendor assets in Rails with Bower, the bower-rails gem comes with its own solution for this problem. It can rewrite your .css
files so all occurences of url(...)
are replaced by something like url(<%= asset_path(...) %>)
in a .css.erb
file (
code
Show archive.org snapshot
).
You can do this manually by invoking a Rake task:
rake bower:resolve
... or you can configure your application to automatically resolve paths before precompiling assets:
BowerRails.configure do |bower_rails|
# Invokes rake bower:resolve before precompilation. Defaults to false
bower_rails.resolve_before_precompile = true
end