2014-04-05 82 views
1

我試圖讓wicked_pdf第一次作爲學習RoR的項目工作,但我遇到了問題。Wicked_pdf在演示中的參數太少

當我嘗試運行任何演示的我,周圍用format.pdf do命令的地方讀的,我得到的錯誤「Too few arguments」與突出的format.pdf do線。

這是代碼:

def show 
    format.pdf do 
     render :pdf => "file_name", :template => 'certificates/show.pdf.erb' 
    end 
    end 

我缺少什麼?

回答

3

試試這個..我有同樣的問題。

def show 
    #format.pdf do 
     render :pdf => "file_name", :template => 'certificates/show.pdf.erb' 
    #end 
    end 

我相信你有gems'wkhtmltopdf二進制''wicked_pdf'安裝

+0

真棒,那工作。你說得對,我已經安裝了wkhtmltopdf-binary和wicked_pdf gems。你知道爲什麼'format.pdf do'實際上不工作嗎? – DamianG

1

format.pdf do 
     render :pdf => "file_name", :template => 'certificates/show.pdf.erb' 
    end 

respond_to塊,是這樣的:

respond_to do |format| 
    format.pdf do 
     render :pdf => "file_name", :template => 'certificates/show.pdf.erb' 
    end 
end 
+1

謝謝你,我想你的建議的代碼,現在我得到的錯誤'的ActionController :: UnknownFormat' – DamianG

0

快捷方式

安裝下面的寶石

gem 'wicked_pdf' 
gem 'wkhtmltopdf-binary' 

使用這wkhtmltopdf並確定路徑

創建符號鏈接

ln -s path_from_which /usr/local/bin/wkhtmltopdf 

編輯/創建邪惡初始化

WickedPdf.config = { 
    #:wkhtmltopdf => '/usr/local/bin/wkhtmltopdf', 
    #:layout => "pdf.html", 
    :exe_path => '/usr/local/bin/wkhtmltopdf' 
} 

在你的控制器找到你的動作和

def show 
    render pdf: "file_name" # Excluding ".pdf" extension. 
end 
0

地址:佈局

render :pdf => "notifications", 
     :layout => 'layouts/pdf/layout.html.erb', 
     :template => 'notification_compulsories/show.pdf.erb' 
0

我有這個問題,我的解決方案是在respond_to塊中包含html格式。這

respond_to do |format| 
    format.pdf { render pdf: "ticket_report" } 
end 

成了這樣:

respond_to do |format| 
    format.html { render :index } 
    format.pdf { render pdf: "report" } 
end 
0

我有這個問題。您可以將defaults散列添加到路線並指定格式。

get "/pdf_name.pdf" => "your_controller#action", as: :pdf_route, defaults: { format: :pdf }