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