Wicked_pdf не работает с Heroku - PullRequest
       36

Wicked_pdf не работает с Heroku

2 голосов
/ 24 октября 2011

Я заканчиваю реализацию отчета в формате PDF для моего приложения, которое отлично работает в режиме разработки, но при загрузке в Heroku это не работает, и я получаю следующую ошибку:

2011-10-24T03:28:02+00:00 app[web.1]: RuntimeError (Failed to execute:
2011-10-24T03:28:02+00:00 app[web.1]: /app/.bundle/gems/ruby/1.9.1/bin/wkhtmltopdf --header-html 'file:///app/tmp/wicked_header_pdf_1_0.html' --footer-html 'file:///app/tmp/wicked_footer_pdf_1_0.html'     --orientation 'landscape' --page-size 'A4' --encoding 'UTF-8'   -q - - 
2011-10-24T03:28:02+00:00 app[web.1]: Error: PDF could not be generated!):
2011-10-24T03:28:02+00:00 app[web.1]:   app/controllers/gliders_controller.rb:244:in `block (2 levels) in report'
2011-10-24T03:28:02+00:00 app[web.1]:   app/controllers/gliders_controller.rb:228:in `report'

Я попытался добавить инициализатор и вручную загрузить файл wkhtmltopdf bin в heroku, следуя примеру в этом репозитории github , но все еще не могу заставить его работать.

Я могу 'Кажется, я не понимаю точную причину, по которой это не сработает в Heroku, кто-нибудь может мне помочь?Заранее спасибо.

Ответы [ 3 ]

2 голосов
/ 24 октября 2011

Я получил его на работу. После небольшого поиска я нашел репозиторий github, который реализует инициализатор wicked_pdf , который работает с Rails 3 и Heroku.

Чтобы сделать эту работу в вашем приложении:

  1. Скопируйте каталог bin в корень вашего приложения
  2. Скопируйте файл wickedpdf.rb в каталог config / initializers, чтобы вы могли получить те же ошибки от heroku
  3. Скопируйте оператор "config.after_initialize do" из файла development.rb, чтобы ваш локальный двоичный файл был найден в разработке.
0 голосов
/ 18 декабря 2012

Использование wkhtmltopdf-binary gem позволит wicked_pdf работать во всех средах Это устраняет необходимость вручную устанавливать wkhtmltopdf на локальном компьютере или на любом рабочем сервере.

gem install wkhtmltopdf-binary

0 голосов
/ 24 октября 2011

Heroku - файловая система только для чтения, и вы пытаетесь создать новый файл в этой системе.Вы не можете сделать это.

...