Как иметь несколько выходных файлов с конвейером ресурсов рельсов? - PullRequest
4 голосов
/ 01 декабря 2011

Я разрабатываю приложение rails, которое обрабатывает общедоступную область (на сегодняшний день - статические страницы), а также личное пространство с аутентификацией и т. Д. Оба они были разработаны независимо. Первая имеет стиль ручной работы, последняя использует загрузчик Twitter.

На производстве рельсы собирают мои активы в один файл, и некоторые стили конфликтуют, в результате чего в публичной области появляются элементы Twitter Bootstrap ... Не то, что я хочу.

Есть ли способ настроить конвейер ресурсов, чтобы при его компиляции было два вывода? классический application.css, а front.css?

1 Ответ

7 голосов
/ 03 декабря 2011

Да, есть. Вам нужно иметь два файла манифеста. Я бы назвал общедоступный application.css и частный admin.css, так как это обычное соглашение Rails.

application.css должен требовать все общедоступные файлы CSS, и вам нужно будет удалить директиву require_tree, поскольку это включает в себя то, что вам не нужно.

Второй файл манифеста, admin.css, будет включать в себя то, что вы хотите для приватной стороны.

Затем вы можете ссылаться на эти файлы в макетах с помощью помощников Rails.

Вам нужно будет добавить admin.css (и .js, если он есть) в массив прекомпиляции, чтобы это работало корректно в рабочей среде:

config.assets.precompile += ['admin.js', 'admin.css']
...