如何优化active_admin

itd*_*xer 16 ruby ruby-on-rails ruby-on-rails-3 activeadmin

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

sea*_*ley 36

你可以做几件事.

默认情况下,Active Admin将关联作为下拉过滤器加载到索引页面上.如果未使用这些过滤器,则删除它们会有所帮助,因为它们会实例化该模型的每个记录以构建下拉列表.

ActiveAdmin.register Post do
  remove_filter :categories
end
Run Code Online (Sandbox Code Playgroud)

如果您的索引页面具有依赖于关联记录的列,则有助于急切加载它们.

ActiveAdmin.register Post do
  controller do
    def scoped_collection
      super.includes :author, :publisher
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

这实际上并不适用,因为您只有5000条记录,但如果您到达甚至COUNT表的DB 需要很长时间的程度,您可能希望禁用索引页右下角的计数.(此功能已在0.6.1中添加)

ActiveAdmin.register Post do
  index pagination_total: false
end
Run Code Online (Sandbox Code Playgroud)

  • 谢谢!这是一个很好的答案! (3认同)