Ich möchte ActiveAdmin mithilfe eines Bootstrap-Vorlagenmotivs neu einblenden. Allerdings muss ich das Layout der Seite anpassen.
Ist es möglich, das Layout von ActiveAdmin so zu ändern, wie ich es möchte? Es sieht anders aus als normale Rails-Konventionen - ich würde es lieber mit einer normalen Vorlage machen und dann die Teile des Inhalts, die ich brauche, in der Reihenfolge, in der ich sie benötige, herausbringen.
Ich habe schon einmal etwas Ähnliches gemacht. Schauen Sie sich diesen Gist Ссылка
an Im Wesentlichen patchen Sie den aktiven Admin-Basis-Controller, um Ihr neues Layout zu verwenden, indem Sie ihre :determine_active_admin_layout
-Methode überschreiben
Dann können Sie in Ihrem active_admin_reskin
-Layout Methoden auf dem Arbre view_factory
like so
Im Wesentlichen ( Ссылка ) habe ich einen kleinen View-Helfer erstellt, damit ich diese Methoden einfach aufrufen kann.
Sehen Sie sich den aktiven Quellcode an, um zu sehen, welche Methoden für verschiedene Arbre-Dokumente verfügbar sind, insbesondere hier: Ссылка
Sobald das Markup so geändert wurde, wie Sie es möchten, können Sie @include 'bootstrap'
in Ihre active_admin.css.scss
-Datei einfügen, die der Generator erstellt hat, und verrückt werden.
Je nachdem, welche Version von AA Sie verwenden.
(0.6.0 & lt; Festschreibung: ec9996406df5c07f4720eabc0120f710ae46c997):
Fügen Sie Ihre scss ein, aber kapseln Sie Ihre css-Selektoren in der Gruppe body.active_admin
ein. Außerdem ist die Spezifität wichtig. Wenn Sie also das Standard-Styling von AA überschreiben möchten, müssen Sie möglicherweise sicherstellen, dass Sie den vollständigen Selektor überschreiben, um das gewünschte Verhalten zu erhalten.
Wenn Sie diese Stile finden möchten, um sie zu überschreiben, sehen Sie sich die Stylesheets von AA an um zu sehen, wie sie die Website als Standard festlegen. Fügen Sie einfach Ihren benutzerdefinierten Stil hinzu, nachdem das AA-Stylesheet enthalten ist.
Nach dem Festschreiben: ec9996406df5c07f4720eabc0120f710ae46c997
Der Namensraum von Stylesheets wurde kürzlich entfernt, und ich habe die Implikation noch nicht gründlich getestet.
Die von BigFive akzeptierte Antwort funktionierte für mich am Anfang, verursachte aber einige Fehler beim Rendern von benutzerdefinierten Teiltönen oder beim Rendern von Fehlern in Formularen.
Inspiriert von seinem Ansatz wechselte ich zu den einzelnen Methoden, mit denen AA das Layout dynamisch generiert (da AA keine statische Layoutdatei verwendet, die einfach geändert werden kann).
Sie können die verfügbaren Methoden im Quellcode finden, aber es ist ziemlich selbsterklärend und beginnt in html-Element .
Beispiel:
Um einige Klassen hinzuzufügen und die Elemente neu zu organisieren:
Sie können Ihren Stil angeben:
assets / stylesheets / active_admin.css.scss
Und Ihre HTML-Beschreibung in:
config / initializers / active_admin_patch.rb:
%Vor%Tags und Links ruby-on-rails activeadmin