Rails 3.1: импорт Sass из Lib - PullRequest
       35

Rails 3.1: импорт Sass из Lib

6 голосов
/ 07 ноября 2011

У меня есть куча sass-файлов начальной загрузки, которые я хотел бы вставить в каталог приложений /lib, следуя новым соглашениям конвейера активов.

Однако мне нужно импортироватьони в моем application.css.scss, а не требовать их, поскольку я хотел бы поделиться некоторыми цветовыми переменными и т. д. по всему приложению.Я не смог найти способ заставить @import получить файл .scss из /lib/assets/stylesheets.

Есть предложения?

Ответы [ 2 ]

10 голосов
/ 07 ноября 2011

@import должен искать любые .css.scss файлы, расположенные в пути загрузки вашего ресурса, будь то app/assets/stylesheets, lib/assets/stylesheets, vendor/assets/stylesheets или любые дополнительные пути, добавленные драгоценными камнями,поэтому странно, что вы получаете ошибку.

Обратите внимание, что вам не нужно передавать имя папки при использовании @import, если файл не находится в подкаталоге assets/stylesheets - sass-rails просматриваеткаждую папку в вашем пути загрузки и посмотрите, существует ли ресурс относительно этих папок.

Чтобы убедиться, что lib/assets/stylesheets находится в пути загрузки ваших активов (что и должно быть, поскольку это опция по умолчанию), взломайтеRails подскажите и наберите Rails.application.config.assets.paths.Например, вот результат для одного из моих приложений:

ruby-1.9.3-p0 :012 > Rails.application.config.assets.paths
 => ["/Users/tom/ruby/qa/app/assets/images",
 "/Users/tom/ruby/qa/app/assets/javascripts",
 "/Users/tom/ruby/qa/app/assets/stylesheets", 
 "/Users/tom/ruby/qa/lib/assets/stylesheets",
 "/Users/tom/ruby/qa/vendor/assets/javascripts",
 "/Users/tom/ruby/qa/vendor/assets/stylesheets",
 "/Users/tom/.rvm/gems/ruby-1.9.3-p0/gems/jquery-rails-1.0.14/vendor/assets/javascripts",
 "/Users/tom/.rvm/gems/ruby-1.9.3-p0/gems/bootstrap-sass-1.4.0/vendor/assets/javascripts", 
 "/Users/tom/.rvm/gems/ruby-1.9.3-p0/gems/bootstrap-sass-1.4.0/vendor/assets/stylesheets"] 

Стоит также убедиться, что sass-rails обновлен и работает на последней версии, так как я считаю, что ранние версии имели ограниченную поддержку в терминахкросс-папки @import.

Примечание: Я также считаю, что соглашение предполагает, что файлы, такие как Bootstrap или jQuery, должны находиться в папке vendor/assets, а не lib/assets

8 голосов
/ 06 мая 2012

У меня была такая же проблема, потому что я забыл перезапустить сервер после добавления файлов в каталог lib.

...