Estamos executando um projeto de desenvolvimento no Passenger e vários aplicativos em subdiretórios. Isso funciona muito bem, mas outro dia um colega usou a função url em uma folha de estilo como esta:
footer {
margin: 0;
background: url(/assets/footer-whole.png) no-repeat center center #c60651;
width: 100%;
height: 180px;
}
O aplicativo está sendo executado em:
http://oururl.com/shannon,
portanto, é claro que o css está procurando o ativo em:
http://oururl.com/assets/footer-whole.png
Quando deveria estar olhando para
http://oururl.com/shannon/assets/footer-whole.png
Para corrigir isso, use asset_url no css em vez de url.
footer {
margin: 0;
background: asset_url('footer-whole.png') no-repeat center center #c60651;
width: 100%;
height: 180px;
}
http://api.rubyonrails.org/classes/ActionView/Helpers/AssetUrlHelper.html#method-i-asset_path