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

PDF jest generowany poprawnie, niestety nie widzę nagłówka. Mogę umieścić nagłówek w głównym układzie i też działa dobrze. Wydaje mi się, że powyższa linia nagłówka nie jest przetwarzana. Nazwa pliku "header.pdf.erb" nie ma znaczenia. Mogę wskazać plik, który nie istnieje i nie zgłasza żadnego błędu.wicked_pdf nie renderuje nagłówka

Jest Mac OS, Rails 3.2.1, Ruby 1.9

+0

Co to jest wiersz polecenia dla wkhtmltopdf w dzienniku konsoli? Czy widzisz coś podobnego do 'Rendered shared/header.pdf.erb wewnątrz pliku pdf.html.erb' w konsoli? – HargrimmTheBleak

+0

Upewnij się, że używasz wersji wkhtmltopdf skompilowanej z QT, i być może spróbuj wyeliminować margines ciała i dopełnienie za pomocą CSS (który może zaćmić nagłówki i stopki). – Unixmonkey

+1

Miałem ten sam problem ze stopką, problemem była moja instalacja wkhtmltopdf: http://stackoverflow.com/questions/12181019/wicked-pdf-footer-not-working/12334202#12334202 – Ginty

Odpowiedz

3

Możesz po prostu renderować szablon jako ciąg i przypisać ją do zawartości nagłówka. Wypróbuj to:

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

Działa dobrze dla mnie.

+1

daje mi to: 'config/initializers/wicked_pdf.rb: 46: in' ' : undefined metoda 'render_to_string 'dla main: Object (NoMethodError)' Używam szyn 3.2.16 –

+0

'render_to_string' jest metodą na [ActionController] (http://apidock.com/rails/ActionController/Base/render_to_string) . Powinien być zdefiniowany, chyba że jesteś poza kontrolerem, oczywiście. – ggentzke

Powiązane problemy