Implantar aplicativos Rails 3 em um subdiretório com o pipeline de ativos

Ao pré-compilar ativos na implantação, o Rails não tem ideia de onde seu aplicativo está hospedado. Se você estiver executando seu aplicativo em um subdiretório, todas as suas image-urldiretivas em seu CSS para imagens de ativos construirão URLs incorretos.

A solução é definir a RAILS_RELATIVE_URL_ROOTvariável de ambiente ao pré-compilar ativos (no servidor ou localmente, se você estiver fazendo check-in de ativos no Git).

Para Capistrano, isso significa adicionar a seguinte linha ao seu deploy.rbarquivo:

default_environment['RAILS_RELATIVE_URL_ROOT'] = '/my-app'