0

プロジェクトの1つに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では機能しません。それを解決する方法はありますか?

どうも

4

2 に答える 2

1

私は別のモンキーパッチをやることになりました、もっと良い方法があるかもしれませんが、これはうまくいきます

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
于 2012-12-17T07:00:21.000 に答える
1

これは、アクティブな管理者の一部のバージョンに役立つ場合があります。

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にこのファイルを選択する必要があります

于 2015-02-07T12:33:04.740 に答える