как остановить активный админ в CSS.файл scss изменяет весь внешний вид моего приложения
у меня есть проект ruby on rails, ruby2 и rails4. У меня установлен самоцвет bootstrap-sass. Недавно я установил activeadmin gem, который добавляет файл active_admin.стиль CSS.scss в папку мое приложение / стили:
// SASS variable overrides must be declared before loading up Active Admin's styles.
//
// To view the variables that Active Admin provides, take a look at
// `app/assets/stylesheets/active_admin/mixins/_variables.css.scss` in the
// Active Admin source.
//
// For example, to change the sidebar width:
// $sidebar-width: 242px;
// Active Admin's got SASS!
@import "active_admin/mixins";
@import "active_admin/base";
// Overriding any non-variable SASS must be done after the fact.
// For example, to change the default status-tag color:
//
// .status_tag { background: #6090DB; }
теперь кнопки и формы во всем моем проекте, который я разработал с помощью класса bootstrap, выглядят по-разному. Это как active_admin.стиль CSS.scss перегружает весь мой проект. Когда я комментирую нижеприведенные строки так:
// @import "active_admin/mixins";
// @import "active_admin/base";
мой оригинальные кнопки возвращаются,но ActiveAdmin-это беспорядок.Любая идея, как я могу разобраться с этой проблемой-просто иметь active_admin.стиль CSS.scss разберется с моими вещами actice_admin и оставит остальных в покое?
5 ответов
обычно административная область имеет свой собственный макет и активы (javascripts и таблицы стилей). Я сомневаюсь,что есть необходимость включать активы active_admin в страницы администратора вашего приложения.
Если приложение.css включает все таблицы стилей по умолчанию с этим:
*= require_true .
затем копирование сторонних активов в папку assets нарушит ваш стиль, как вы описываете. Рассмотрите возможность изменения его, чтобы явно включить таблицы стилей или использовать методы, описанные в этом статья:
http://mrdanadams.com/2011/exclude-active-admin-js-css-rails/
статье 3 года, поэтому ее можно изменить, но идея есть.
лучшим решением, которое работает для Rails 4, является перемещение файлов active_admin css и javascript в /vendor. Чтобы правильно загрузить активы в производство, добавьте следующие строки в config/environments/production.rb
:
config.assets.precompile +=
%w( #{Rails.root}/vendor/assets/stylesheets/active_admin.css.scss)
config.assets.precompile +=
%w( #{Rails.root}/vendor/assets/javascripts/active_admin.js.coffee)
Я нашел исправление в этой вопрос.
благодаря следу исследований, начатых Джеймсом Ченом ниже (и благодаря Райану Бейтсу!) Я нашел это видео: http://railscasts.com/episodes/284-active-admin
к концу видео, он исправляет мои проблемы. Не возражал бы, но я посмотрел первую часть видео несколько дней назад, чтобы установить active_admin gem, а затем перестал смотреть.
в основном, если у вас установлен sass, измените свое приложение.css файл для приложение.стиль CSS.scss и некоторые другие мелкие кусочки и бобы.
благодаря Джеймсу Чену и ссылке на блог Дэна Адама. Я решил объединить две статьи в этом ответе. Следующие шаги должны решить проблему на Rails 4.0:
1-Убедитесь, что ваши активные ресурсы администратора не находятся в корневых папках, которые применяются ко всему приложению:
cd app/assets/javascripts
mkdir admin
mv active_admin.js.coffee admin/
cd ../stylesheets
mkdir admin
mv active_admin.css.scss admin/
2-и на самом деле, убедитесь, что активы не включены, путем редактирования обоих файлов
assets/stylesheets/application.css
и assets/javascripts/application.js
изменить require_tree .
до require_directory .
3 - Теперь вам нужно изменить активный инициализатор администратора, чтобы захватить два файла, которые вы только что исключили в шагах 1 и 2:
В файле config/initializers/active_admin.rb
добавить следующие строки:
config.clear_stylesheets!
config.register_stylesheet 'admin/active_admin.css'
config.clear_javascripts!
config.register_javascript 'admin/active_admin.js'
As @Karen
указано в этом ответе Rails Active Admin css конфликтует с Twitter Bootstrap css, вы можете просто переместить таблицу стилей active_admin.css.scss
с app/assets/stylesheets
to vendor/assets/stylesheets