Я добавил файл с именем mobile.css в свой каталог assets / stylesheets. Этот файл не требуется в application.css, поскольку я явно добавляю его только по страницам, которые хочу оптимизировать для мобильных устройств. Когда я запускаю rake assets:precompile, он не помещает его в конвейер активов. Я собираюсь предположить, что если я добавлю его в application.css, он будет предварительно скомпилирован, но тогда моя мобильная таблица стилей переопределит таблицу стилей по умолчанию, которая мне не нужна.

Отлично работает в режиме разработки со следующим в моем макете:

- if mobile_device?
      = stylesheet_link_tag "mobile"

В производственной среде это невозможно, поскольку mobile.css не добавляется в конвейер.

Как лучше всего с этим справиться?

0
randombits 7 Окт 2013 в 20:31
Чтобы охватить основы, все остальные таблицы стилей скомпилированы правильно, и вы не забыли добавить mobile.css в соответствующие шаблоны?
 – 
Vidya
7 Окт 2013 в 20:40
Обновил свой вопрос, чтобы ответить на ваш вопрос.
 – 
randombits
7 Окт 2013 в 20:45
Не уверен, что это возможно для вас, но я бы предложил различать ваши конфликтующие теги css, например. #mobile #container и просто #container для всего остального - не лучшее решение, но может помочь
 – 
tommyd456
7 Окт 2013 в 20:54

1 ответ

Лучший ответ

Вы всегда можете добавить его вручную в массив прекомпиляции в вашем application.rb.

config.assets.precompile += %w( mobile.css )

Практическое правило в отношении конвейера ресурсов: если он не требуется в манифесте ИЛИ его нет в массиве прекомпиляции, он не будет предварительно скомпилирован.

4
Marcelo De Polli 7 Окт 2013 в 20:53