Active Adminにすでに存在する収集アクション「download_csv」を使用して、リソースのすべてのレコードをダウンロードしようとしています。ただし、このアクションは現在のページのコンテンツのみをダウンロードします。リソースをページングしたので、すべてのページからデータをダウンロードする必要があります。この問題にどのように取り組むことができるかについての提案はありますか?
1319 次
3 に答える
5
将来のグーガーのためだけに。私の修正(現在の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:43:57.230 に答える
2
この答えは少し遅れるかもしれませんが、うまくいけば誰かを助けることができます。
現在のアプリでこれをどのように機能させるかを次に示します。
csv do
ModelName::ATTR_ADMIN_EXPORT.each do |sym|
column sym
end
end
そして、モデルでは、ATTR_ADMIN_EXPORTを次のように定義しています。
ATTR_ADMIN_EXPORT = [:name, :created_at]
これがあなたのために働くかどうか私に知らせてください!
于 2013-05-06T15:28:30.517 に答える
1
あなたはこれを試すことができます
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
于 2013-05-17T02:40:19.187 に答える