ActiveAdmin 0.5 и почему меня должна волновать новая версия

Всё портится, даже в том случае, если что-то становится лучше. Вот, например, ActiveAdmin - удобная штука для тех, кому лень писать собственную админку. И правильно, не царское для разработчиков это дело. Но иногда приходится. И вот вдруг, когда dashboard в админке давно написан и забыт, приходит обновление, которое, в частности, гнусно намекает, что в следующем обновлении dashboard вообще будут исключены и приложение, что? – правильно, запускаться не будет вообще.

“Кот в панике”. Но решение – есть. Например, тут рассказано, что содержимое app/admin/dashboards.rb можно заменить на:

Page вместо Dashboard - dashboards.rb
1
2
3
4
5
6
7
8
9
ActiveAdmin.register_page "Dashboard" do
  controller.skip_before_filter :authenticate, :only => :index

  menu :priority => 1, :label => proc{ I18n.t("active_admin.dashboard") }

  content :title => proc{ I18n.t("active_admin.dashboard") } do
    # Тут содержимое страницы
  end
end

Почти что “ура”. Плохо только то, что старое содержимое стало отрисовываться без стилей, без заголовков и т.п.

Код для отрисовки таблиц берём отсюда. Он может выглядеть, например, так:

Оформляем dashboards.rb
1
2
3
4
5
6
7
8
9
10
11
12
# ...
   panel("Название панели") do
     table_for(ModelName.limit(10)) do
       column :email
       column :created_at
       # Здесь делаем всё то же, что привыкли использовать
       #   на странице списка для моделей
     end

     # ...
   end
# ...

Вот, вроде, и всё. Будем ждать новых релизов ActiveAdmin :)

Список используемой литературы

Comments