Я окончательно запутался. Пытаюсь выложить проект в продакшен, но он упирается. Было решено компилировать ассеты на локальном компьютере, потом заливать на сервер.
В проекте участвует compass и спрайты. Иконки для спрайтов лежат в папке app/assets/images/theme-name/icons. При запуске девелопмент сервера, картинки собираются в спрайт и ложатся в файл app/assets/images/theme-name/icons-xxxxxxxxxxxxxxxxxx.png. И все прекрасно работает.
Запускаю rake assets:precompile в папку /public/dev-assets/theme/name/icons попадают отдельные картинки, а нужно, чтобы собралось грубо говоря 4 спрайта (у меня 4 темы) по одному в каждой папке /public/dev-assets/
theme-name/icons-xxxxx.png.
Я так понял sprockets штудирует app/assets/images и все картинки без разбора сует в /public/dev-assets. Я убрал иконки из /app/assets/images в /icons, перенеся всю структуру папок. Т.е. сейчас в папке проекта /icons/theme-name/icons
environments/development.rb
config.compass.project_type = :rails
config.compass.environment = :development
config.compass.images_dir = 'icons'
config.compass.generated_images_dir = 'public/dev-assets/icons'
config.compass.output_style = 'expanded'
config.compass.relative_assets = true
config.compass.line_comments = true
sass стили:
@import 'compass'
@import "compass/utilities/sprites"
$icons-layout:smart
@import "grey/icons/*.png"
@include all-icons-sprites
Запускаю rails s в девелопменте, получаю ошибку:
No files were found in the load path matching "grey/icons/*.png". Your current load paths are: F:/myapp/app/assets/images, F:/myapp/app/assets/javascripts, F:/myapp/app/assets/stylesheets
(in F:/myapp/app/assets/stylesheets/styles_grey_theme.sass:5
Может я вообще не верно представляю как делаются подобные вещи. Как это работает у вас?