Rails で active_admin gem を使用するときに、html コードをオーバーライドしたい。これらの宝石のビューのナビゲーションバーと多くの要素が私のビュー(他のページ)と異なるためです。CSSを手動で変更せずにHTMLコードを変更する方法があることを願っています! ありがとう
質問する
1003 次
1 に答える
3
とても簡単ではありません。アクティブ管理者は HTML を構築するために DSL (「Arbre」と呼ばれます) を使用します。すべてのページ クラスにモンキー パッチを適用する必要があります。また、CSS のカスタマイズも妨げられる可能性があります。
たとえば、サイドバーを左に移動するには、次のパッチで初期化子を作成します。
class ActiveAdmin::Views::Pages::Base < Arbre::HTML::Document
def build_page_content
build_flash_messages
div :id => "active_admin_content", :class => (skip_sidebar? ? "without_sidebar" : "with_sidebar") do
build_sidebar unless skip_sidebar?
build_main_content_wrapper
end
end
end
デフォルトの方法は
def build_page_content
build_flash_messages
div :id => "active_admin_content", :class => (skip_sidebar? ? "without_sidebar" : "with_sidebar") do
build_main_content_wrapper
build_sidebar unless skip_sidebar?
end
end
レンダリングに使用されるクラスの完全なリストはこちらで確認できるため、一部のクラスにはパッチを適用する必要があります。 https://github.com/gregbell/active_admin/tree/master/lib/active_admin/views
大きな仕事に備えましょう。
アップデート。activeadmin サイドバーの位置を変更する Gem
于 2012-10-24T09:25:48.743 に答える