2011-07-18 82 views
0

我試圖生成使用飛碟與控制器下面的代碼軌道在JRuby中美景的這幅畫:飛碟/ JRuby的生成視圖

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 

我得到一個錯誤

未初始化的常量PatientsController :: FlyingSaucer

我需要Java和flying_saucer控制器

任何幫助,將不勝感激

+0

我建議嘗試拼湊一個小獨立腳本,看看您是否可以重新創建問題(如果是的話,它張貼在這裏!) – Rob

+0

好嗎我已經消除了所有的錯誤信息,但現在的服務器只是在日曆操作被調用時掛起。 – user807157

+0

您可以在獨立腳本中重新創建嗎?你能描述一下你把修復未初始化的固定誤差(替他人的利益誰可能會遇到這樣)的步驟是什麼? – Rob

回答

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也可能有所幫助。