Nenhuma das respostas diz sobre o caminho, quando terei .css.erb
extensão, como fazer referência a imagens . Para mim, trabalhei tanto na produção quanto no desenvolvimento :
2.3.1 CSS e ERB
O pipeline de ativos avalia automaticamente o ERB . Isso significa que, se você adicionar uma extensão erb a um ativo CSS (por exemplo application.css.erb
), auxiliares como asset_path
estão disponíveis nas suas regras CSS:
.class { background-image: url(<%= asset_path 'image.png' %>) }
Isso grava o caminho para o ativo específico que está sendo referenciado. Neste exemplo, faria sentido ter uma imagem em um dos caminhos de carregamento de ativos, como app/assets/images/image.png
, que seria referenciado aqui. Se essa imagem já estiver disponível public/assets
como um arquivo com impressão digital, esse caminho será referenciado.
Se você deseja usar um URI de dados - um método para incorporar os dados da imagem diretamente no arquivo CSS - você pode usar o asset_data_uri
auxiliar.
.logo { background: url(<%= asset_data_uri 'logo.png' %>) }
Isso insere um URI de dados formatado corretamente na fonte CSS.
Observe que a tag de fechamento não pode ser do estilo -%>.