2016-06-01 18 views
0

我对呈现PDF文件的模型之一有一个活动的管理成员动作。我想调用相同的成员动作,但不是渲染,而是要将内容保存到文件中。 我知道render_to_string在这里会有所帮助,但我的问题是如何在ActiveAdmin控制器上调用成员操作。这里被简化代码如何从另一个类或模型调用Active管理成员动作

ActiveAdmin.register MyModel do 
     member_action :generate_pdf do 
     data = get_data 
     render :pdf => "generate_pdf", :layout => false, :margin => { top:  0, bottom: 0, left: 0, right: 0 } 
     end 
    end 

回答

0

注意:这不是问题的解决方案,但也许它会帮助一些人。

如果我理解您的权利,您希望采取相同的措施来显示PDF并下载PDF文件?如果是的话,你可以通过使用下载参数来解决这个问题/admin/model/1/generate_pdf?download=1

ActiveAdmin.register MyModel do 
    member_action :generate_pdf do 
    data = get_data 
    response.headers['Content-Disposition'] = 'attachment; filename=somefile.pdf' if params[:download] 
    render :pdf => "generate_pdf", :layout => false, :margin => { } 
    end 
end 
+0

不,我不想下载pdf。基本上我想以编程方式生成PDF文件,以便我可以将它附加到邮件。有什么办法可以调用渲染逻辑并将其保存为文件? – Sandeep

+0

活动管理员没有办法做到这一点。也许ActionMailer可以做到这一点。 –

相关问题