2013-03-25 40 views
3

我正嘗試使用已存在於Active Admin中的集合操作「download_csv」來下載資源的所有記錄。但是,該操作僅下載本頁面的內容。由於我已經爲資源分頁,因此需要從所有頁面下載數據。有關我如何解決這個問題的任何建議?下載ActiveAdmin中分頁資源的所有記錄

回答

2

這個答案可能有點晚,但希望它可以幫助某人。

這裏是我有這個工作在我目前的應用程序:

csv do 
    ModelName::ATTR_ADMIN_EXPORT.each do |sym| 
    column sym 
    end 
end 

和模型中我有這樣的定義ATTR_ADMIN_EXPORT:

ATTR_ADMIN_EXPORT = [:name, :created_at] 

讓我知道這對你的作品!

+0

完美地工作。非常感謝。 – Saiesh 2013-05-06 18:48:35

0

你可以試試這個

before_filter :only => :index do 
    @per_page = 10 unless request.format == 'text/csv' 
end 

這段代碼也會使分頁動態。

before_filter :only => :index do 
    if params[:pag].blank? 
    @per_page = AdminSetting.where(:name => 'JobPagination').first.value.to_i unless request.format == 'text/csv' 
    else 
    @per_page = 10 
    end 
end 
5

只爲未來的谷歌搜索引擎。我的修復(工作當前主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下載。