使用wicked和Rails API创建PDF的问题

时间:2016-11-23 19:54:27

标签: ruby-on-rails pdf rails-api wicked-pdf

我正在尝试使用wicked和Rails API创建可下载的PDF。目前我只能下载PDF,但内容为空,文件名为response.pdf.pdf。

当我对特定分数发出GET请求时,这是我用来生成PDF的方法。

def download_pdf(score)
    html = render_to_string(:action => :show, :layout => "pdf.html.erb", :template => "scores/show.pdf.erb", locals:{:score => score}) 
    pdf = WickedPdf.new.pdf_from_string(html) 

    send_data(pdf,  
      :filename => 'test.pdf',
      :disposition => 'attachment')
end

1 个答案:

答案 0 :(得分:0)

我今天遇到了这个问题。很晚了,但对于寻求解决方案的人将很有用。

您将必须继承ActionController :: Base而不是ActionController :: API。或者,您可以使用以下代码覆盖render_to_string。

def render_to_string(*args)
  controller = ActionController::Base.new
  controller.locale = I18n.locale
  controller.render_to_string(*args)
end

参考:https://github.com/mileszs/wicked_pdf/issues/652