2

我在数据库中有超过 50K 的记录,但是当我从活动管理员下载 csv 时,它只给了我 10K。我搜索了解决方案,发现名为 max_csv_records 的方法存在限制

lib/active_admin/resource_controller/collection.rb

有什么方法可以覆盖它并增加限制吗?

这是我得到的要点https://gist.github.com/3177995但你们能告诉我如何使用这段代码吗?如果我可以在活动管理员初始化程序中添加一些东西会更好

4

2 回答 2

2

只为未来的谷歌人。我的修复(适用于当前的 Master 1.0.0pre)是将以下内容添加到config/initializers/active_admin.rb

module ActiveAdmin
  class ResourceController
    module DataAccess
      # needed for current active admin master
      def max_per_page
        30_000
      end

      def per_page
        return 30_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

根据需要更换最大值。这适用于 csv、xml 和 json 下载。

于 2014-01-16T01:45:17.890 回答
0

这是增加出口记录限制的猴子补丁https://github.com/gregbell/active_admin/issues/346

于 2012-11-22T10:51:12.583 回答