我正在尝试使用飞碟在轨道上的jruby视图中生成pdf,控制器中包含以下代码:
def calendar
@patient = Patient.find_by_id(params[:id])
result = render_to_string
send_data( FlyingSaucer::create_pdf(result), :filename => "calendar.pdf",
:type => "application/pdf",
:disposition => 'attachment')
end
我收到错误
未初始化的常数PatientController :: FlyingSaucer
我在控制器中需要java和flying_saucer
任何帮助将不胜感激
答案 0 :(得分:1)
试试这个:
require 'flying_saucer'
java_import org.xhtmlrenderer.pdf.ITextRenderer
class SomeController < ApplicationController
def show
respond_to do |format|
format.pdf { send_data render_pdf, :filename => 'test.pdf' }
end
end
private
def render_pdf
io = StringIO.new
content = render_to_string(:layout => false)
# content = '<html><body><h1>Yo</h1></body></html>'
renderer = ITextRenderer.new
renderer.set_document_from_string(content)
renderer.layout
renderer.create_pdf(io.to_outputstream)
io.string
end
end
end
尝试查看此presentation的幻灯片66作为示例。
This也可能有所帮助。
答案 1 :(得分:0)
确保飞碟罐在类路径中。