Жодна з відповідей не говорить про те, як я буду мати .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.
Зауважте, що закриваючий тег не може бути стилем -%>.