Предварительная компиляция файла манифеста .scss с использованием конвейера Rails 3.1
В выпуске Rails 3.1 есть некоторые странные проблемы с предварительной компиляцией файла sass manifest с расширением scss
. Странно, что файл манифеста по умолчанию application.scss
компилируется отлично, и я вижу его под public/assets/
.
Однако, когда я пытаюсь скомпилировать мои файлы манифеста, ничего не создается. Я включил опцию предварительной компиляции в конфигурационном файле.
config.assets.precompile += %w( user.scss admin.scss )
Я выполняю предкомпиляцию rake-задачи правильно, насколько мне известно.
rake assets:precompile RAILS_ENV=production
И, возможно, это помогает. Когда я создаю два новых файла манифеста с расширением css вместо scss и требуем исходных файлов scss в них, эти новые файлы манифеста выполняются и должным образом компилируются. Почему application.scss
получает это специальное обращение, а не другие файлы манифеста sass?
Ответы
Ответ 1
Включите скомпилированные имена файлов в список прекомпиляции:
config.assets.precompile += %w( user.css admin.css )
Кроме того, вы можете захотеть переименовать исходные файлы в app/assets/stylesheets
, чтобы включить скомпилированное расширение в исходные имена файлов, чтобы было ясно, что происходит:
user.scss -> user.css.scss
admin.scss -> admin.css.scss
Ответ 2
Я подозреваю, что это может быть ошибка.
Файлы application
рассматриваются как основные файлы для проекта по умолчанию. По умолчанию заканчивается файл .css и .js.
Поведение, которое вы описываете (проявляется с расширением .css), является правильным.