¿Por qué se cuelga PDFKit / wkhtmltopdf pero muestra el PDF como se esperaba cuando se elimina la aplicación Rails?

Fondo

Después de leer alrededor me pareció queGamba está fuera ywkhtmltopdf está en. También parece que elPDFKit ywicked_pdf Las gemas para rieles son las nuevas geniales. Así que encontré un screencast porRyan encómo usar PDFKit. Instalé todo, probé wkhtmltopdf en el CLI sin problemas, jugueteaba con los parámetros de Rails para ejecutar varios procesos, por lo que el flujo de activos funciona, y todo parecía estar bien, excepto que todavía estoy atascado al final del proceso (obteniendo el PDF respuesta del servidor).

Pregunta

Cuando solicito un.pdf versión de mi vista (estoy usando la opción PDFKit Middleware) mi navegador se queda ahí esperando una respuesta, pero tan pronto como termine el proceso de Rails, el PDF que esperaba obtener solo aparece y luego aparece en la ventana de mi navegador. ¿Lo que da?

Lo que estoy usandoOS: OSX 10.8.1Rieles: 3.2.8Ruby: 1.9.3wkhtmltopdf: 0.11.0_rc1 (aunque cuando ejecutowkhtmltopdf -V dice 0.10.0_rc2)qt: 4.8.2Qué he hechoutiliza el middleware PDFKit cargandoconfig.middleware.use "PDFKit::Middleware" en miapplication.rb expediente.incluidogem 'pdfkit' en mi Gemfile y lo instalé con Bundlerselecciona el.pdf mime-type en mimime_types.rb inicializador conMime::Type.register_alias "application/pdf", :pdfadicionalconfig.threadsafe! aconfig/environments/development.rb para varios subprocesos, por lo que la canalización de activos no entra en conflicto con el motor PDFprobadowkhtmltopdf http://www.google.com google.pdf y generó un PDF de la página de inicio de Google como se esperaba.se intentó cambiar PDFKit por wicked_pdf y se encontró el mismo problema (se bloquea, pero cuando el proceso de Rails se detiene, el PDF se procesa como se esperaba)Lo que parece

Esta es la página html normal representada por Rails (he borrado los detalles del cliente):

Esta es la salida de CLI de Rails cuando intento navegar hacialocalhost:3000/some/path.pdf. (La aplicación se cuelga mientras espera una respuesta):

Cuando finalmente mato el proceso de Rails conctrl-c el PDF finalmente aparece en el navegador como esperaba verlo (CSS y HTML presentados correctamente, por lo que los activos parecen cargar bien):

Conclusiones hasta ahora

Intercambiar PDFKit por wicked_pdf y obtener los mismos resultados parece hacerme pensar que el problema no está en esas bibliotecas, sino en algo relacionado con mi entorno de desarrollo. Pero wkhtmltopdf funciona bien fuera de la línea de comandos, así que eso me hace pensar que él y QT están haciendo su trabajo. El problema debe estar en Rails. Tal vez no estoy configurando algo correctamente?

Petición de ayuda

¿Cómo puedo determinarqué ¿Exactamente el problema es y cómo lo arreglo?

Te amaré si puedes ayudarme <3

Actualizar

También he intentado usar un método alternativo para renderizar el PDF (con.to_pdf) sin la opción de middleware de la siguiente manera (haciendo esto, comentéconfig.middleware.use "PDFKit::Middleware" de miapplication.rb expediente):

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

Respuestas a la pregunta(7)

Su respuesta a la pregunta