Почему PDFKit / wkhtmltopdf зависает, но отображает PDF, как и ожидалось, когда приложение Rails убито?

Background

После прочтения мне показалось, чтоПрон вне иwkhtmltopdf находится в. Также кажется, чтоPDFKit а такжеwicked_pdf Драгоценные камни для Rails - это новое круто. Так что я нашел скринкастРайан накак использовать PDFKit, Я установил все, протестировал wkhtmltopdf на CLI без проблем, поиграл с настройками Rails, чтобы запустить несколько процессов, чтобы конвейер ресурсов работал, и все выглядело хорошо, за исключением того, что я все еще застрял в самом конце процесса (фактически получая PDF ответ с сервера).

Question

When I request a .pdf version of my view (I'm using the PDFKit Middleware option) my browser just sits there waiting for a response, but as soon as I kill the Rails process the PDF I expected to get only then pops up in my browser window. What gives?

What I'm Using OS: OSX 10.8.1 Rails: 3.2.8 Ruby: 1.9.3 wkhtmltopdf: 0.11.0_rc1 (although when I run wkhtmltopdf -V it says 0.10.0_rc2) qt: 4.8.2 What I've Done used the PDFKit middleware by loading config.middleware.use "PDFKit::Middleware" in my application.rb file. included gem 'pdfkit' in my Gemfile and installed it with Bundler set the .pdf mime-type in my mime_types.rb initializer with Mime::Type.register_alias "application/pdf", :pdf added config.threadsafe! to config/environments/development.rb for multiple threads so asset pipeline doesn't conflict with PDF engine tested wkhtmltopdf http://www.google.com google.pdf and it generated a PDF of the Google homepage as expected tried swapping PDFKit for wicked_pdf and encountered the same problem (hanging, but when Rails process is killed the PDF renders as expected) What it Looks Like

Это обычная html-страница, отображаемая Rails (я размыл детали клиента): enter image description here

Это вывод CLI Rails, когда я пытаюсь перейти кlocalhost:3000/some/path.pdf, (приложение зависает в ожидании ответа): enter image description here

Когда я наконец убью процесс Rails сctrl-c PDF-файл наконец-то отображается в браузере, как я и ожидал (CSS и HTML отображаются правильно, поэтому ресурсы загружаются нормально): enter image description here

Conclusions So Far

Замена PDFKit на wicked_pdf и получение тех же результатов, похоже, заставляет меня думать, что проблема не в этих библиотеках, а в моей среде разработки. Но wkhtmltopdf отлично работает из командной строки, поэтому я думаю, что он и QT делают свою работу. Проблема должна быть в Rails. Может быть, я не настраиваю что-то правильно?

Plea for Help

Как мне определитьwhat именно проблема и как мне это исправить?

Я буду любить тебя, если ты сможешь мне помочь & lt; 3

Update

Я также пытался использовать альтернативный метод рендеринга PDF (с.to_pdf) без промежуточного программного обеспечения следующим образом (делая это, я закомментировалconfig.middleware.use "PDFKit::Middleware" от моегоapplication.rb файл):

respond_to do |format|
    format.html
    format.pdf do
        html = '<html><body>This is a test.</body></html>'
        @pdf = PDFKit.new(html)

        send_data @pdf.to_pdf, 
            :filename => 'whatever.pdf', 
            :type => 'application/pdf', 
            :disposition => 'attachment'
    end
end

Ответы на вопрос(7)

Ваш ответ на вопрос