我正在为我的一个项目使用active_admin,我有一些包含大量数据的表(+100,000条记录)。
分页浏览数据很好,但是当我想导出数据(这样我就可以在 excel 中进行自定义匹配)并且我尝试在 xml 中导出时,它只是导出页面的当前记录,而不是导出过滤上的总记录。
module ActiveAdmin
class ResourceController
module Collection
module Pagination
def max_csv_records
1_000_000
end
end
end
end
end
但这不适用于 XML/JSON,有什么想法可以解决这个问题吗?
感谢
我最终做了另一个猴子补丁,可能有更好的方法,但这个有效
module ActiveAdmin
class ResourceController
module Collection
module Pagination
def per_page
return 1_000_000 if %w(text/csv application/xml application/json).include?(request.format)
return max_per_page if active_admin_config.paginate == false
@per_page || active_admin_config.per_page
end
end
end
end
endend
这可能对某些版本的活动管理员有所帮助:
module ActiveAdmin::ResourceController::DataAccess
protected
def apply_pagination_with_csv(chain)
return chain if request.format == 'text/csv'
apply_pagination_without_csv(chain)
end
alias_method_chain :apply_pagination, :csv
end
要确定补丁是否有效,您应该选择已安装的 gem 此文件