Ruby on rails 如何优化active\u admin

Ruby on rails 如何优化active\u admin,ruby-on-rails,ruby,ruby-on-rails-3,activeadmin,Ruby On Rails,Ruby,Ruby On Rails 3,Activeadmin,上一次我遇到了问题。在我有5000多行数据的表中,它的工作非常缓慢。我如何优化它?也许有人知道这个模块的一些异步加载插件?您可以做一些事情 默认情况下,活动管理员在索引页上将关联作为下拉筛选器加载。如果没有使用这些过滤器,删除它们会有所帮助,因为它们会实例化该模型的每个记录以构建下拉列表 ActiveAdmin.register Post do remove_filter :categories end 如果索引页中的列依赖于关联的记录,那么加载它们会有所帮助 ActiveAdmin.re

上一次我遇到了问题。在我有5000多行数据的表中,它的工作非常缓慢。我如何优化它?也许有人知道这个模块的一些异步加载插件?

您可以做一些事情

默认情况下,活动管理员在索引页上将关联作为下拉筛选器加载。如果没有使用这些过滤器,删除它们会有所帮助,因为它们会实例化该模型的每个记录以构建下拉列表

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中添加的)


谢谢这是一个很好的答案!将筛选器设置为类似于
filter:association,as::select,collection:->{association.pulk:id}
..的方式会更快吗。。。与无条件地过滤:关联时默认为每个
关联
行实例化Ruby对象相反?是的,这会有很大帮助。但你也需要确保传回一个人类友好的名字。例如:
Author.pull(:name,:id)
ActiveAdmin.register Post do
  index pagination_total: false
end