2015-05-27 4 views
0

Привет, я получаю следующие ошибки при использовании wicked_pdf gem в Rails3.ошибка неправильного номера аргумента с использованием Rails

error:

ArgumentError in UsersController#download_pdf 

wrong number of arguments (0 for 1) 
Rails.root: C:/Site/generate4 

Application Trace | Framework Trace | Full Trace 
app/controllers/users_controller.rb:6:in `download_pdf' 

После нажатия на ссылку Загрузить в формате PDF следующая ошибка приходит.

error-2:

RuntimeError in UsersController#download_pdf 

Error: Failed to execute: 
["C:/Program Files/wkhtmltopdf/bin/wkhtmltopdf.exe", "--encoding", "UTF-8", "file://C:/DOCUME~1/SUBHRA~1/LOCALS~1/Temp/wicked_pdf20150527-1192-1qf0ac.html", "C:/DOCUME~1/SUBHRA~1/LOCALS~1/Temp/wicked_pdf_generated_file20150527-1192-fijfxt.pdf"] 
Error: PDF could not be generated! 
Command Error: Loading pages (1/6) 
[>               ] 0% 
[======>              ] 10% 
Error: Failed loading page file://c/DOCUME~1/SUBHRA~1/LOCALS~1/Temp/wicked_pdf20150527-1192-1qf0ac.html (sometimes it will work just to ignore this error with --load-error-handling ignore) 
Exit with code 1 due to network error: ContentNotFoundError 

Пожалуйста, проверьте мой код ниже.

users_controller.rb:

class UsersController < ApplicationController 
    def index 

    end 
    def download_pdf 
     pdf=WickedPdf.new.pdf_from_string(
     render_to_string pdf: "test.pdf", template: "users/test.html.erb", encoding: "UTF-8") 

     @save_path = 'C:\Site\download_pdf.pdf' 
    end 
end 

users/test.html.erb:

<h1>Hello rails</h1> 

wicked_pdf.rb:

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

Gemfile:

source 'https://rubygems.org' 

gem 'rails', '3.2.19' 

gem 'sqlite3' 
group :assets do 
    gem 'sass-rails', '~> 3.2.3' 
    gem 'coffee-rails', '~> 3.2.1' 

    gem 'uglifier', '>= 1.0.3' 
end 

gem 'jquery-rails' 

gem 'wicked_pdf' 

Мое требование конвертировать HTML в PDF с помощью Rails 3.Please помочь мне решить эту ошибку и успешно получить PDF-файл.

ответ

2

Предполагая, что вы пытаетесь загрузить pdf-файл.

см код ниже:

#users_controller.rb: 
class UsersController < ApplicationController 
    def download_pdf 
    pdf = render_to_string(pdf: "test.pdf", template: "users/test.html.erb", encoding: "UTF-8") 
    send_data pdf 
    end 
end 

# Gemfile 

source 'https://rubygems.org' 

gem 'rails', '3.2.19' 

gem 'sqlite3' 
group :assets do 
    gem 'sass-rails', '~> 3.2.3' 
    gem 'coffee-rails', '~> 3.2.1' 

    gem 'uglifier', '>= 1.0.3' 
end 

gem 'jquery-rails' 

gem 'wicked_pdf', :github => 'mileszs/wicked_pdf', :branch => 'master' 

Пожалуйста, проверьте, работает ли он.

+0

@ sufinsha: Но после редактирования кода эта ошибка исчезла, но когда я пытаюсь создать файл pdf, он бросает ошибку, которая была поставлена ​​под вопрос как ошибка-2. –

+0

@ rajat_474 Пожалуйста, проверьте мои изменения. – sufinsha

+0

@ sufinsha: Я обновил ваш последний код с той же ошибкой, что и ошибка-2 в post.Позвольте мне подтвердить, что я использую систему Windows. –

Смежные вопросы