2012-04-16 4 views
36

Jestem trochę nowy w zasobie aktywów Railsów, więc mógłbym zrobić coś złego. Próbuję użyć Active Admin dla mojego backendu i twittera bootstrap css dla mojej aplikacji front endowej.Szyny Aktywna administracja css w konflikcie z serwerem Twitter Bootstrap css

dodałem bootstrap.css do /app/aktywów/stylów następnie również dodania:

//= require bootstrap 

do application.css - wtedy zrobiłem precompile aktywów lokalnie

wydaje aby działała dobrze, ale niektóre stylizacje nie przychodzą dokładnie i myślę, że to dlatego, że aktywne css administratora to nadpisuje.

Rozumiem, że aplikacja kompiluje zasoby css do publicznego zasobu aplikacji css, a aplikacja używa tego pliku podczas pracy.

trzeba jakoś oddzielić od siebie i uczynić go używać twitter bootstrap css jako główny css na przednim końcu i może powiedzieć to, aby nie używać CSS aktywnego admin plików na przednim końcu.

Jaki jest najlepszy sposób na zrobienie tego?

Odpowiedz

27

Czy oglądałeś wideo RailsCasts przy użyciu ActiveAdmin? W filmie wideo Ryan pokazuje, jak uniemożliwić programowi ActiveAdmin CSS wkraczanie na główny plik CSS aplikacji.

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

Przenoszenie informacji z wideo w odpowiedzi

W application.css usunąć:

*= require_tree . 

Dla szyn 4, Jiten K proponuje dodanie tego do production.rb:

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

Jednak jeden z komentarzy do tej odpowiedzi SO mówi, że nie jest to konieczne. Do tej pory nie potrzebowałem tego.

+3

MattSlay jest poprawna ... Ryana RailsCast (# 284) pokaże, jak to obejść (to wszystko z powodu „require_tree. "w application.css).Usunięcie/edycja, która rozwiąże problem CSS. –

+0

Ta metoda działa dobrze dla mnie w trybie programistycznym, ale w produkcji mam problem, gdy uruchamiam 'bundle exec rake assets: precompile': w moim przypadku pliki css kończą się mieszane, a bootstrap.css zostanie zastąpiony przez ActiveaAdmin. Dowolny pomysł?. Dzięki! – CristianOrellanaBak

+0

ale ale 'require_tree .' jest magią, która pozwala magicznie zgnieść wszystkie twoje pliki CSS do jednego przez Railsy ... ta odpowiedź jest przesadna i powinna być nieakceptowana – AlexChaffee

125

miałem ten sam problem, i był w stanie go naprawić, przenosząc

app/assets/stylesheets/active_admin.css.scss 

do

vendor/assets/stylesheets/active_admin.css.scss 

Aktywne aktywa Administrator powinny być w vendor/ jak wspomniano w rails guide:

"Sprzedawca/aktywa dotyczą aktywów będących własnością podmiotów zewnętrznych , na przykład kod dla wtyczek JavaScript i frameworków CSS. "

+0

Działa dobrze, gdy uruchamiane są atrybuty" bundle exec rake: precompile " '?. W moim przypadku pliki css zostaną zakończone, a plik bootstrap.css zostanie nadpisany przez activeadmin. Dowolny pomysł?. – CristianOrellanaBak

+0

nie działa dla mnie – theDazzler

+9

I zrób to samo dla 'active_admin.js'. Przenieś go do 'sprzedawca/assets/javascripts/active_admin.js' – Arcolye

3

Dla mnie zmienia application.css do następujących rozwiązuje problem:

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

Wydaje się, że to działa dla mnie, dzięki. Nie byłem w stanie dokładnie określić, co to jest "stub", czy mógłbyś dać mi szybką wskazówkę? – justinraczak

Powiązane problemy