bower-rails can rewrite your relative asset paths

Updated . Posted . Visible to the public.

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
Profile picture of Henning Koch
Henning Koch
Last edit
Michael Leimstädtner
License
Source code in this card is licensed under the MIT License.
Posted by Henning Koch to makandra dev (2014-11-03 09:09)