【问题标题】:increase the limit of record in csv download增加 csv 下载的记录限制
【发布时间】:2012-10-05 09:32:18
【问题描述】:

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

中名为 max_csv_records 的方法存在限制

lib/active_admin/resource_controller/collection.rb

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

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

【问题讨论】:

  • 如果您将该代码添加到初始化程序中的新文件中,它是否不起作用?类似config/initializers/csv_limit_override.rb
  • 是的,它没有用,我制作了自己的过滤器,将 csv 发送给提供的电子邮件地址中的用户

标签: ruby-on-rails ruby-on-rails-3 activeadmin


【解决方案1】:

仅供未来的谷歌员工使用。我的修复(适用于当前的 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 下载。

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-04
      • 1970-01-01
      • 2019-10-22
      • 1970-01-01
      • 2020-01-16
      相关资源
      最近更新 更多