Как изменить или переопределить нижний колонтитул ActiveAdmin?

Как отредактировать или переопределить нижний колонтитул Active_Admin?

Ответ 1

Ответ:

В вашем приложении rails создайте этот файл: app/admin/footer.rb

Содержимое будет выглядеть примерно так:

module ActiveAdmin
  module Views
    class Footer < Component

      def build
        super :id => "footer"                                                    
        super :style => "text-align: right;"                                     

        div do                                                                   
          small "Cool footer #{Date.today.year}"                                       
        end
      end

    end
  end
end

Не забывайте! перезагрузить приложение/сервер.

Любой компонент компоновки ActiveAdmin можно настроить таким образом.

Подробнее об этом:

Почему это работает? Это рубиновый волшебный соус. Мы снова открываем определение класса Footer и меняем его для нашего пользовательского контента.

Является ли это полностью настраиваемым? Я не знаю. Это путь наследования:

ActiveAdmin

class Component < Arbre::Component
class Footer < Component

Арбр

class Component < Arbre::HTML::Div

Это означает, что мы можем напрямую использовать DSL Arbre.

Ответ 2

Если все, что вы хотите сделать, это изменить или удалить сообщение "приведено в действие", то вы можете изменить его значение в файле локали. Пример, отредактируйте config/locales/en.yml

И используйте что-то вроде этого:

en:                                                                              
  active_admin:                                                                  
    powered_by: "Powered by hamsters"

Почему это работает:

Локаль по умолчанию для приложения rails - английский, файл en locale.

Ответ 3

От gist создать файл в lib/footer.rb

class Footer < ActiveAdmin::Component
  def build
    super :id => "footer"
    span "My Awesome footer"
  end
end

добавить в initializers/active_admin.rb

ActiveAdmin.setup do |config|
 ......some config here....

  config.view_factory.footer = Footer

 ......some config here....
end

Ответ 4

Между v1.0.4pre и v.1.0.5pre предыдущий метод переопределения Footer#build перестает работать, а новый API

ActiveAdmin.application.footer = proc {
  ...
}

Ответ 5

Для v.1.0.0.pre5 я обнаружил, что для принятого ответа требуется небольшое добавление, а именно добавление переменной для построения, как показано ниже:

module ActiveAdmin
  module Views
    class Footer < Component

      def build (namespace)
        super :id => "footer"                                                    
        super :style => "text-align: right;"                                     

        div do                                                                   
          small "Cool footer #{Date.today.year}"                                       
        end
      end

    end
  end
end

Ответ 6

Более новая версия ActiveAdmin предоставляет настраиваемую опцию для установки нижнего колонтитула.

Настройка нижнего колонтитула ActiveAdmin

config.footer = "MyApp Revision v1.3"

Нижний колонтитул может быть настроен с помощью proc, где вы можете даже сделать частичное отображение.

Настройка нижнего колонтитула ActiveAdmin с использованием proc

config.footer = proc { "Enjoy MyApp Revision 123, #{controller.current_admin_user.try(:email)}!" }

PR, который добавил возможность настроить нижний колонтитул