BigFive die akzeptierte Antwort für mich am Anfang gearbeitet, aber dann einige Fehler produziert, wenn benutzerdefinierte partials Rendering oder wenn Fehler in Formularen Rendering .
durch seinen Ansatz inspiriert wechselte ich die einzelnen Methoden zu überschreiben, die AA das Layout dynamisch zu generieren verwendet (wie AA, die leicht modifiziert wurde, kann keine statische Layout-Datei verwenden werden).
Sie können die verfügbaren Methoden im Quellcode finden, aber es ist ziemlich selbsterklärend und beginnt in den html element.
Beispiel:
Um einige Klassen hinzufügen und neu organisieren die Elemente:
Sie Ihren Stil in setzen können:
Vermögenswerte/Stylesheets/active_admin.css.scss
Und Ihre html Beschreibung in:
Konfig/Initialisierer/active_admin_patch.rb:
module ActiveAdmin
module Views
class Header
alias_method :original_build_site_title, :build_site_title
alias_method :original_build_global_navigation, :build_global_navigation
alias_method :original_build_utility_navigation, :build_utility_navigation
def build_site_title
div class: "side_bar_top" do
original_build_site_title
end
end
def build_global_navigation
div class: "side_bar_content" do
original_build_global_navigation
end
end
def build_utility_navigation
div class: "side_bar_footer" do
original_build_utility_navigation
end
end
end
module Pages
class Base
alias_method :original_build, :build
# This should be the same as add_classes_to_body but for the html main element
def add_classes_to_html_tag
document.add_class(params[:action])
document.add_class(params[:controller].gsub('/', '_'))
document.add_class("active_admin")
document.add_class("logged_in")
document.add_class(active_admin_namespace.name.to_s + "_namespace")
end
def build(*args)
original_build
add_classes_to_html_tag
end
def build_page
within @body do
div id: "wrapper" do
div id: "details_view" do
build_title_bar
build_page_content
#build_footer
end
div id: "master_view" do
build_header
end
end
end
end
end
end
end
end
Ich bin nicht sicher, wie Ihr Patch funktioniert, können Sie etwas klarere Vorstellung geben, wie es zu benutzen? Bisher @import "bootstrap"; in der active_admin.css.scss bekam Bootstrap-Look and Feel. Könnten Sie eine Anleitung geben? Vielen Dank. – Axil
Der Patch ändert die Art und Weise ActiveAdmin funktioniert durch Übergeordnetes, diese Methode der ‚active_admin_reskin‘ string zurückzukehren. Speichern Sie es in dem Pfad, der in dem Kommentar in der ersten Zeile erwähnt wird. Dann erstellen Sie ein solches Layout (nur ein reguläres Rails-Layout) in app/views/layouts/active_admin_reskin.html.erb Siehe das Wesentliche, dass @BigFive verknüpft ist. – nocache
hatte ich Probleme mit dem weniger Bootstrap-Juwel zu implementieren. Beim Verschieben in den SASS-Edelstein funktionierte es gut und fügte hinzu: @ import "bootstrap-sprockets"; @ import "bootstrap"; in aktive_admin.css.scss – Seoman