Ни один из ответов не говорит о том, как, когда у меня будет .css.erb
расширение, как ссылаться на изображения . Для меня работали как в производстве, так и в разработке :
2.3.1 CSS и ERB
Конвейер активов автоматически оценивает ERB . Это означает, что если вы добавите расширение erb к ресурсу CSS (например, application.css.erb
), то asset_path
в ваших правилах CSS будут доступны подобные помощники :
.class { background-image: url(<%= asset_path 'image.png' %>) }
Это записывает путь к конкретному активу, на который ссылаются. В этом примере было бы целесообразно иметь изображение в одном из путей загрузки ресурса, например app/assets/images/image.png
, на которое здесь будет ссылаться. Если это изображение уже доступно в public/assets
виде файла с отпечатками пальцев, то на этот путь ссылаются.
Если вы хотите использовать URI данных - метод встраивания данных изображения непосредственно в файл CSS - вы можете использовать asset_data_uri
помощник.
.logo { background: url(<%= asset_data_uri 'logo.png' %>) }
Это вставит правильно отформатированный URI данных в источник CSS.
Обратите внимание, что закрывающий тег не может иметь стиль -%>.