我想生成一個帶有我們部門標識的PDF。當我嘗試使用我的控制器的WickedPdf類(使用在https://github.com/mileszs/wicked_pdf描述的方法):Wicked-PDF未顯示圖像,'wicked_pdf_image_tag'undefined
def some_action
image_tag_string = image_tag('logo.jpg')
pdf = WickedPdf.new.pdf_from_string(image_tag_string)
save_path = Rails.root.join('testpdfs','logotest.pdf')
File.open(save_path, 'wb') do |file|
file << pdf
end
end
...的應用程序保存PDF到目標目錄,但它有一個藍色和白色「 ?標記圖像應該在哪裏。
如果我這樣做,而不是:
image_tag_string = wicked_pdf_image_tag('logo.jpg')
pdf = WickedPdf.new.pdf_from_string(image_tag_string)
我收到以下錯誤:
NoMethodError:
undefined method `wicked_pdf_image_tag' for #<...
這樣看來,我的Rails應用程序也不見了/沒有連接到屬於一個幫助文件邪惡-PDF寶石。
對StackOverflow上類似問題的回答建議編寫一個自定義的「圖像標籤」助手來定位圖像或安裝wkhtmltopdf。對我來說,放置在視圖(whatever.html.erb)中時,image-tag會顯示徽標。 「logo.jpg」已經位於資產管道和#{RailsRoot}/public/images中。最後,我在Ubuntu 14.04上使用了wkhtmltopdf 0.9.9,wicked-pdf 0.11.0和rails 4。
簡而言之 - 我做錯了什麼導致WickedPDF無法呈現圖像?
'wicked_pdf_image_tag'是一個輔助方法,因此它應該在的意見,或其他幫助使用。發佈更多關於您的實施的信息。 –
什麼信息會有用?目前,我使用測試頁上的按鈕來觸發上述方法控制器#some_action。我在Rspec3中編寫了一個包含相同代碼的測試,並且在運行它時執行了相同的操作 - 構建PDF,保存它,在圖像應該放置的位置放置問號。 – NewbieOnRails
正如我所說的,'wicked_pdf_image_tag'是一個輔助方法,所以在控制器操作中它不能被使用(至少它不應該)。您應該查看,放置圖像的位置,然後使用該視圖生成pdf。但要長話短說 - 對於wicked_pdf,圖像路徑需要是完整的絕對路徑,具有完整的文件系統路徑或完整的url(帶有域和協議)。我會試着想出一些簡單的例子,並將其發佈在這裏(除非有人擊敗我)。 –