我正在尝试使用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
答案 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