15
上次我遇到了问题active_admin。在我有5000多行数据的表格中,它的工作速度非常缓慢。我如何优化它?也许有人知道这个模块的一些异步加载插件?如何优化active_admin
上次我遇到了问题active_admin。在我有5000多行数据的表格中,它的工作速度非常缓慢。我如何优化它?也许有人知道这个模块的一些异步加载插件?如何优化active_admin
有几件事你可以做。
默认情况下,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
谢谢!这是一个很好的答案! – itdxer
将过滤器设置为类似'filter:association,比如:select,collection: - > {Association.pluck:id}'...与为每个'association'实例化一个Ruby对象相比,如果您无条件地过滤“关联”,行是否为默认行? – mecampbellsoup
是的,这会有很大的帮助。但是,您还需要确保同时传递一个人性化的名称。例如:'Author.pluck(:name,:id)' – seanlinsley