Подтвердить что ты не робот

Rails Active Admin css, конфликтующий с Twitter Bootstrap css

Я немного новичок в конвейере Rails, поэтому я могу сделать что-то неправильно. Я пытаюсь использовать Active Admin для моего бэкэнд и twitter bootstrap css для моего внешнего приложения.

Я добавил bootstrap.css в /app/assets/stylesheets, а затем добавил:

//= require bootstrap

в application.css - тогда я сделал прекомпиляцию активов локально

Кажется, что все хорошо, но некоторые из стилей не проходят точно, и я думаю, потому что активный admin css переопределяет его.

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

Мне нужно как-то разделить эти два и заставить использовать twitter bootstrap css как основной css на лицевой стороне и, возможно, сказать, что не использовать файлы active admin css на передней панели.

Какой лучший способ сделать это?

4b9b3361

Ответ 1

Вы смотрели видео RailsCasts при использовании ActiveAdmin? В видеоролике Райан показывает вам, как предотвратить включение ActiveAdmin CSS в основное приложение CSS.

http://railscasts.com/episodes/284-active-admin

Перемещение информации из видео в ответ

В application.css вы удалите:

*= require_tree .

Для рельсов 4, Jiten K предлагает добавить это к production.rb:

config.assets.precompile += ['active_admin.css']

Однако один из комментариев на этот ответ SO говорит, что это не нужно. Я до сих пор не нуждался в этом.

Ответ 2

У меня была та же проблема, и я смог ее исправить, перемещая

app/assets/stylesheets/active_admin.css.scss

к

vendor/assets/stylesheets/active_admin.css.scss

Активные атрибуты admin должны находиться в vendor/, как указано в rails guide:

"Поставщик/активы - это активы, принадлежащие внешним организациям, такие как код для плагинов JavaScript и рамки CSS".

Ответ 3

Для меня изменение application.css на следующий решает проблему:

 *= require bootstrap
 *= require_tree .
 *= stub "active_admin"