Как автоматически скомпилировать scss в css с конвейером ресурсов в Rails 3.1? - PullRequest
5 голосов
/ 19 сентября 2011

Новый конвейер активов rails 3.1 меня сильно смутил. В rails 3.0.x с самоцветом sass мой глобальный css-файл обновлялся при редактировании файлов .scss. Но в рельсах 3.1 это больше не работает. Кажется, мне нужно запустить задачу rake, чтобы обновлять мои css-файлы всякий раз, когда я изменяю .scss-файлы. Мне кажется, что я неправильно понимаю что-то о новом конвейере активов, но я не знаю, что это такое. Может ли кто-нибудь предоставить решение или объяснение этой проблемы? Спасибо.

Ответы [ 3 ]

6 голосов
/ 25 сентября 2011

Есть две возможные причины этого.Я предполагаю, что вы находитесь в режиме разработки, и все драгоценные камни загружены.

1.Config

В режиме разработки файлы компилируются по требованию и кэшируются до внесения каких-либо изменений.Вы должны получить новые параметры конфигурации 3.1, установленные в нужных файлах, или это может работать не так, как ожидалось.

Ознакомьтесь с разделом руководств Rails по , обновляющему .

2.Расширения

Другой получает расширения в правильном порядке.Для scss это будет file.css.scss.Это говорит Sprockets сначала проанализировать файлы как scss, и что они имеют расширение css.Если у вас был .erb в конце - file.css.scss.erb - тогда сначала обрабатывается erb, а затем scss.

Обновление приложений немного сложно, потому что так много всего изменилось. Справочник конвейера активов содержит много полезной информации и советов.

0 голосов
/ 25 июня 2013

Для меня эта проблема решена очень легко. Я просто удалил все предварительно скомпилированные файлы * .css из ресурсов / таблиц стилей и оставил все файлы * .scss. Rails работал нормально с * .scss напрямую, без прекомпиляции.

0 голосов
/ 21 июля 2012

Sass / SCSS уже встроен, поэтому вам не нужно выполнять предварительную обработку ERB.

image-url("image.png")

http://guides.rubyonrails.org/asset_pipeline.html#coding-links-to-assets

...