Используете рельсы 3.1 пути активами в СКС частичная
У меня есть следующая настройка:
app/assets/stylesheets/application.css.scss
/*
*= require_self
*= require fancybox
*/
/* COLORS.. */
/* MIXINS... */
/* FONT STACKS... */
/* IMPORTS */
@import "reset";
@import "supergrid";
@import "rails";
@import "app";
@import "forms";
@import "layout";
В моих различных партиалах у меня есть реальная проблема с путями активов. Когда внутри application.css.scss
или что-либо загружено манифестом, я могу использовать:
.example { background-image: image-path("background.png"); }
Однако, когда я использую частичное, такое как мое _layout.css.scss
частичное, когда я пытаюсь то же самое свойство background-image просто опущено из скомпилированного файла. Похоже, помощники по активам SCSS недоступны внутри партиалов?
Кто-нибудь получил это на работу, я пропал что-то очевидное? Или просто невозможно использовать помощников активов в партиалах? Если это так, то это очень серьезная проблема, так как вся моя структура приложения зависит от переменных SCSS и миксинов, которые являются общими для всех партиалов.
Я знаю, что переменные и микшины не являются общими в манифесте sprockets, поэтому, если партиалы не могут получить доступ к помощникам активов, то я рассматриваю необходимость объединения всего в один файл scss, что в значительной степени противоречит цели как Sass, так и Шестерни.
Любая помощь была бы очень признательна!
1 ответ:
Странно, но это должно сработать.. Всего несколько идей:
- используете ли вы современные самоцветы sass-рельсы и звездочки?
- попробуйте переименовать .CSS.СКСС к.scss
- попробуйте заменить
image-path('background.png')
наasset-url('background.png', image)
илиimage-url('background.png')
- Попробуйте удалить
require_self
из приложения.CSS.scss- Попробуйте удалить все директивы из приложения.CSS.scss и импортировать эти файлы с помощью @import