2014-02-20 42 views
0

我正在使用Rails 3.2.8和activeadmin。我现在面临的问题是,如果我设置自定义链接,exporting为PDF(用虾宝石)或XML作为,ActiveAdmin导出为每个页面的{PDF,XML}自定义链接

ActiveAdmin.register Project do 
    index :download_links => [:pdf, :xml] 
    controller do 
    ... 
    end 

    index do 
    column "Icon" do |project| 
    # And a couple of other columns. 
    end 
end 

我结束了在页面上失去所有的自定义列(例如图标)。

我只想在当前页面上导出为PDF选项,因此我没有为XML和PDF设置下载链接的全局activeadmin初始化程序。

那么,有没有人能帮我弄清楚我只能在我当前的activeadmin页面下载PDF格式的下载链接。

+0

AFAIK,ActiveAdmin不支持PDF导出功能。你能告诉我你的pdf配置是什么? – baxang

+0

是的,你是对的,我创建了一个自定义PDF控制器来呈现PDF文件,因为我希望能够将给定页面导出为PDF文件。 – veepsk

+0

[活动管理视图为PDF]的可能的重复(http://stackoverflow.com/questions/16411011/active-admin-view-to-pdf) – baxang

回答

2

@ sanghyun公园 这是我activeadmin控制器,

controller do 
    def index 
     index! do |format| 
     format.html 
     format.pdf { 
     pdf = ProjectPdf.new(@projects) 
     send_data pdf.render, filename: "Project_status.pdf", 
           disposition: "inline" 
     } 
     end 
    end 
    end 

这是模型我要呈现的PDF文档,

class ProjectPdf < Prawn::Document 
    def initialize(projects) 
     super(top_margin: 50) 
     text "Summary of Projects" , :style => :bold, :size => 20 
     proj_array = [[ "Company Name" , "Project Name", "Project State", 
    "Latest Upload"]] 
     projects.each do |item| 
       proj_array << [ 
       item.company.name.nil? ? "" : item.company.name, 
       item.name, 
       item.project_state.nil? ? "" : item.project_state.name, 
       item.updated_at.strftime("%m/%y/%d \n %l:%M %p") 
       ] 
     end 
    end 

approach寻找出口更简洁,更容易页面转换为activeadmin中的PDF。

+0

感谢您分享您的代码。我没有用过虾。大虾似乎更精确地控制PDF版面。我认为WickedPDF更易于使用,因为它将纯HTML文档转换为PDF。 – baxang

相关问题