2012-07-17 26 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'}} 

El PDF se genera bien, desafortunadamente no veo el encabezado. Puedo pegar el encabezado en el diseño principal y funciona bien también. Me parece que la línea de encabezado de arriba no se está procesando. El nombre de archivo 'header.pdf.erb' no parece importar. Puedo señalarlo a un archivo que no existe y no arroja ningún error.wicked_pdf no muestra el encabezado

Esta es Mac OS, rieles 3.2.1, rubí 1,9

+0

¿Cuál es la línea de comando de wkhtmltopdf en el registro de la consola? ¿Ves algo como 'Rendered shared/header.pdf.erb dentro de pdf.html.erb' en la consola? – HargrimmTheBleak

+0

Asegúrate de estar usando una versión de wkhtmltopdf compilada con QT, y quizás intentes eliminar el margen de tu cuerpo y el relleno con CSS (que puede eclipsar los encabezados y pies de página) – Unixmonkey

+1

Tuve el mismo problema con el pie de página, el problema fue mi instalación de wkhtmltopdf: http://stackoverflow.com/questions/12181019/wicked-pdf-footer-not-working/12334202#12334202 – Ginty

Respuesta

3

Es posible que desee simplemente hacer que la plantilla como una cadena y asignarla al contenido de la cabecera. Pruebe esto:

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

Funciona bien para mí.

+1

esto me da: 'config/initializers/wicked_pdf.rb: 46: in' ' : método undefined 'render_to_string 'para main: Object (NoMethodError)' Estoy usando rails 3.2.16 –

+0

'render_to_string' es un método en [ActionController] (http://apidock.com/rails/ActionController/Base/render_to_string) . Debería definirse a menos que esté fuera de un controlador, por supuesto. – ggentzke

Cuestiones relacionadas