活动管理员视图到PDF
我最近开始在Ruby on Rails中开发,因此我认为自己是初学者。
我正在测试Active Admin gem( http://activeadmin.info/ ),我在将视图导出为PDF时发现了一个问题。
在官方文档中说明如何自定义下载链接( http://activeadmin.info/docs/3-index-pages.html ,它位于文档末尾)但对我不起作用。
当我把以下代码行:
Mymodel ActiveAdmin.register do index: download_links => [: pdf] end
结果是localhost:3000 / admin / mymodel.pdf的链接,并显示以下错误:“无法加载PDF文档”。
两个问题:
- 你有什么建议?
- 你举个例子吗?
我会很感激。
这在一段时间之前受到了质疑,但我正在为未来的搜索者添加一个更具体的ActiveAdmin示例,因为@ user2163649的答案是一种更通用的方法。
首先,我们需要明确指出ActiveAdmin不支持开箱即用的PDF导出。 你需要自己实现它。
我选择了WickedPDF gem来创建PDF,但你可以根据自己的需要和限制从其他几个选项中选择 ,如Prawn,Pdfkit等。
# Gemfile gem 'wicked_pdf'
# app/admin/pages.rb ActiveAdmin.register Page do controller do # if you want /admin/pages/12345.pdf def show super do |format| format.pdf { render(pdf: "page-#{resource.id}.pdf") } end end end # if you want /admin/pages/12345/pdf, pdf_admin_page_path(@page) member_action :pdf, method: :get do render(pdf: "page-#{resource.id}.pdf") end end
# app/views/admin/order_items/show.pdf.erb page <%= resource.id %>
<%= resource.body %>
# app/views/admin/order_items/show.html.erb page <%= resource.id %>
<%= resource.body %>
试试prawn gem ..我认为它是用于生成PDF文档的最优秀的ruby库..
恩。
在你的索引中
respond_to do |format| format.html format.pdf do pdf = SalePdf.new(@sales) send_data pdf.render, filename: "Daily_Sales_Report, :disposition => "inline" end end
sale_pdf.rb
class SalePdf < Prawn::Document text "sample pdf" end
github: https : //github.com/prawnpdf/prawn
- activeadmin:为嵌套资源添加删除
- 在ActiveAdmin中自定义显示页面
- Rails ActiveAdmin – 更改更新后的redirect_to
- 无法在关联模型的Active Admin索引属性中显示(belongs_to / has_many) – Rails 3.2
- rails ActiveAdmin嵌套表单has_one accepts_attributes_for formtastic issue
- 在Active Admin中禁用CSV下载
- Rails3 Active Admin:如何在首次点击Shipments标签时仅显示打开状态记录?
- 活动管理员日期过滤日期格式自定义
- 如何使用多个Active Admin实例来完成单独的模型