2012-07-17 20 views
7
 render :pdf => "file_name", 
        :layout  => 'pdf.html.erb', 
        :template => 'transactions/show.pdf.erb', 
         :wkhtmltopdf => WICKED_PDF_BIN, 
         :show_as_html => true, 
        :layout => 'pdf.html.erb', 
        :header => {:html => { :template => 'shared/header.pdf.erb'}} 

Il PDF viene generato correttamente, sfortunatamente non vedo l'intestazione. Posso incollare l'intestazione nel layout principale e funziona anche bene. Mi sembra che la riga di intestazione sopra non venga elaborata. Il nome file 'header.pdf.erb' non sembra avere importanza. Posso indicarlo in un file che non esiste e non genera errori.wicked_pdf non viene visualizzato nell'intestazione

Si tratta di Mac OS, Rails 3.2.1, Ruby 1.9

+0

Qual è la riga di comando per wkhtmltopdf nel log della console? Vedete qualcosa come 'Rendered shared/header.pdf.erb in pdf.html.erb' nella console? – HargrimmTheBleak

+0

Assicurati di utilizzare una versione di wkhtmltopdf compilata con QT e forse prova ad eliminare il margine del tuo corpo e il padding con CSS (che può eclissare le intestazioni e i piè di pagina) – Unixmonkey

+1

Ho avuto lo stesso problema con il piè di pagina, il problema era la mia installazione wkhtmltopdf: http://stackoverflow.com/questions/12181019/wicked-pdf-footer-not-working/12334202#12334202 – Ginty

risposta

3

Si consiglia di rendere semplicemente il modello come una stringa e assegnarlo al contenuto della intestazione. Prova questo:

header: { 
    content: render_to_string(template: 'header.pdf.haml') 
} 

Funziona bene per me.

+1

mi dà: 'config/initializers/wicked_pdf.rb: 46: in' ' : metodo non definito 'render_to_string 'per main: Object (NoMethodError)' Sto usando le rotaie 3.2.16 –

+0

'render_to_string' è un metodo su [ActionController] (http://apidock.com/rails/ActionController/Base/render_to_string) . Dovrebbe essere definito a meno che tu non sia al di fuori di un controller, ovviamente. – ggentzke

Problemi correlati