2

Rails で active_admin gem を使用するときに、html コードをオーバーライドしたい。これらの宝石のビューのナビゲーションバーと多くの要素が私のビュー(他のページ)と異なるためです。CSSを手動で変更せずにHTMLコードを変更する方法があることを願っています! ありがとう

4

1 に答える 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

https://github.com/Fivell/active_admin_sidebar

于 2012-10-24T09:25:48.743 に答える