Как я могу оптимизировать active_admin

В прошлый раз у меня возникла проблема с active_admin. В таблицах, где у меня есть 5000 строк, он работает очень медленно. Как я могу его оптимизировать? Может быть, кто-нибудь знает некоторые асинхронные плагины для этого модуля?

Ответы

Ответ 1

Есть несколько вещей, которые вы можете сделать.

По умолчанию Active Admin загружает ассоциации как раскрывающиеся фильтры на индексной странице. Если эти фильтры не используются, это помогает удалить их, поскольку они создают каждую запись этой модели для создания раскрывающегося списка.

ActiveAdmin.register Post do
  remove_filter :categories
end

Если ваша индексная страница имеет столбцы, зависящие от связанных записей, она помогает загружать их.

ActiveAdmin.register Post do
  controller do
    def scoped_collection
      super.includes :author, :publisher
    end
  end
end

Это действительно не так, поскольку у вас есть только 5000 записей, но если вы дойдете до того, что даже DB COUNT в таблице занимает много времени, вам может потребоваться отключить счет в правом нижнем углу на индексной странице. (эта функция была добавлена ​​в 0.6.1)

ActiveAdmin.register Post do
  index pagination_total: false
end