1

如何在 activeadmin 中禁用 json/xml 导出的分页?我想不出任何解决方案。导出到 xml 或 json 时,我只得到当前页面。

4

2 回答 2

2

一种解决方案(不是最好的)是使用 before_filter 禁用分页

controller do
  before_filter :disable_pagination, :only => [:index]

  def disable_pagination
    @per_page = YourModel.count
  end
end

这使得所有记录只有一页的分页,因此它将导出所有记录。

于 2013-02-15T15:00:22.420 回答
0

也可以这样操作,

controller do
    def index
      super do |format|
        per_page = (request.format == 'text/html') ? 30 : 10_000 # to skip the pagination
        params[:page] = nil unless (request.format == 'text/html') #It will be working even after we export the CSV on the paginated sections.
        @users = @users.order("first_name asc, last_name asc").page(params[:page]).per(per_page)
        @users ||= end_of_association_chain.paginate if @users.present?
      end
    end
end
于 2015-10-01T13:16:48.360 回答