Posted over 4 years ago. Visible to the public.

bower-rails can rewrite your relative asset paths

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).

You can do this manually by invoking a Rake task:

Copy
rake bower:resolve

… or you can configure your application to automatically resolve paths before precompiling assets:

Copy
BowerRails.configure do |bower_rails| # Invokes rake bower:resolve before precompilation. Defaults to false bower_rails.resolve_before_precompile = true end

By refactoring problematic code and creating automated tests, makandra can vastly improve the maintainability of your Rails application.

Owner of this card:

Avatar
Henning Koch
Last edit:
over 4 years ago
by Henning Koch
About this deck:
We are makandra and do test-driven, agile Ruby on Rails software development.
License for source code
Posted by Henning Koch to makandra dev
This website uses cookies to improve usability and analyze traffic.
Accept or learn more