2012-01-29 291 views
1

首先,我知道這種類型的職位已經被制定,但我已經嘗試了幾乎所有的人,我無法得到結果,所以我在這裏再次發佈相同類型的問題。wicked_pdf與軌道3.1和紅寶石1.9.2

其次,我沒有資產管道問題在這裏,所以請忘記。

現在讓我解釋我在做什麼。我正在使用rails 3.1和ruby 1.9.2,我安裝了wicked_pdf作爲寶石,並安裝了wkhtmltopdf,如維基中所述,通過清除已安裝的wkhtml並下載並提取新的文件到/ usr/bin/wkhtmltopdf

我有一個包含以下內容的初始化:

wicked_pdf.rb

WickedPdf.config = { :exe_path => '/usr/bin/wkhtmltopdf'} 

在我看來,我有一個方法的link_to如下:

_filters.html.haml

= link_to 'show pdf', jobs_report_jobs_path(:format => :pdf), :method=>"post" 

注:如果我刪除:格式=>:PDF選項,它工作正常

在我的控制器

我做的是以下幾點:

report_jobs_controller.rb

respond_to do |format| 
     format.html 
     format.js 
     format.pdf{ 
     render :pdf=>"jobs", 
     :template => 'jobs.html.erb', 
     :layout=>"jobs.html" 
     } 
end 

注意我已經從format.pdf單獨嘗試沒有任何選項。我試過「jobs.pdf.erb」,有和沒有佈局選項,我甚至都不記得其他各種選項。我所得到的是406最後還是不能接受的。

請指導我因爲我需要儘快實現此功能。

問候,

+0

有你使用wicked_pdf在PDFKit理由嗎?我最近做了PDFKit的切換,因爲我在pdf中遇到了一些問題。 – 2012-01-29 21:59:37

回答

1

我在我的應用程序控制器中有一個before_filter,它檢查每個請求時使用上述格式進行身份驗證,並且我在那裏缺少pdf格式,所以只要我將:pdf放在每個傳入請求的格式列表中工作得很好。

0

我沒有多少關於wicked-pdf,但我曾經用pdfkit,這是我沒怎麼渲染部分:

def pdf 
    respond_to do |format| 
     format.pdf { render :text => PDFKit.new(Pdf.find(params[:id]).content).to_pdf } 
    end 
end 

我希望的代碼是足夠清晰和具有自我-explanatory。我的看法代碼:

<p><%= link_to "Download PDF", pdf_pdf_path(@pdf, :format => "pdf") %></p> 
1

406表示請求是無效的(在關於什麼是可以接受該控制器動作)

我有麻煩:format => :pdf之前。嘗試:format => 'pdf'

準系統的實施應該僅僅是:

format.pdf { 
    render :pdf => 'jobs' 
} 

而且,是真正的link_to應該是:方法=> 「後」?

+0

是的,因爲它被定義爲在集合和方法發佈路由 – 2012-01-31 11:22:18

1

我也有同樣的問題。我在Ubuntu上工作。在安裝wkhtmltopdf後,我再也沒有收到這個錯誤。 在終端中運行以下命令:

$sudo apt-get install wkhtmltopdf 

我希望這有助於:)