Logical Rabbit.

さくらのVPS

ActiveAdminのCSS/JavaScriptがアプリケーション全体に波及して邪魔な時の対処パターン

ActiveAdminを導入するときの定型パターンなのに毎回忘れるのでメモ。ていうか、これいい加減ActiveAdmin側で何かしてくれないかな(←Pull request送れや)

  1. app/assets/stylesheets/admin.css を app/assets/stylesheets/admin/admin.css 等のようにして下層ディレクトリへ隔離 (app/assets/javascripts も同様)
  2. app/assets/stylesheets/application.css 内の require_tree .require_directory . に変更
    • これにより app/assets/stylesheets のサブディレクトリを読み込まなくなるので app/assets/stylesheets/admin が隔離されるが、副作用として app/assets/stylesheets/hoehoe-func のような機能ごとのサブディレクトリ運用もできなくなるので、必要ならば適宜 require_directory hoehoe-func を追記する必要がある
  3. config/initializer/active_admin.rb の == Register Stylesheets & Javascripts の項に以下を追記

    config.clear_stylesheets!
    config.register_stylesheet 'admin/active_admin.css'
    config.clear_javascripts!
    config.register_javascript 'admin/active_admin.js'
    
    1. config.clear_stylesheets! ... 念のため、他の箇所で読み込まれたスタイルシート情報を破棄
    2. config.register_stylesheet 'admin/active_admin.css' ... app/assets/stylesheets/admin/active_admin.css を読み込むよう設定
    3. (javascripts 側も同様の処理)