Con Bower podemos gestionar las dependencias de las librerías que usemos en el frontend y al igual que con el Gemfile actualizar las librerías, bloquearlas en una versión concreta y mantener sus dependencias.

Configuración

Bower por defecto instalará las dependencias en el directorio raíz, en el caso de Rails puede ser mejor moverlo a vendor/assets/bower_components pero no es imprescindible.

// .bowerrc

{
  "directory": "vendor/assets/bower_components"
}

Luego le decimos a Rails que cargue los assets de Bower, en las últimas versiones de Rails tenemos el fichero config/initializers/assets.rb, en proyectos antiguos podemos usar el fichero config/application.rb.

# config/initializers/assets.rb

Rails.application.config.assets.paths << Rails.root.join('vendor', 'assets', 'bower_components')
# config/application.rb

class Application < Rails::Application
  # ...
  config.assets.paths << Rails.root.join('vendor', 'assets', 'bower_components')
  # ...
end

Uso

Una vez configurado podemos empezar a usarlo, por ejemplo vamos a añadir Bootstrap a nuestro proyecto.

$ bower init # Y completa los datos que te pide
$ bower install bootstrap -S

Para usar los assets instalados debemos añadirlos a algún fichero manifiest como cualquier otro asset.

# app/assets/javascripts/application.js

#= require bootstrap
// app/assets/stylesheets/application.css

*= require bootstrap/dist/css/bootstrap

Comentarios