Dagi3d v4

Actualización de Acts As Flying Saucer

Hace poco me enviaron un correo con un par de bugs que habían encontrado en el plugin que escribí para generar pdfs desde Rails y y­a están solucionados:

­Antes se añadía por defecto la opción x_sendfile a la hora de enviar el pdf al cliente, pero en según qué entornos puede generar un fichero vacio(por ejemplo cuando estemos en desarrollo con mongrel), por lo que ahora se ha eliminado, pero se puede pasar como parámetro de send_file cuando sea necesario:

class FooController < ApplicationController
  
  acts_as_flying_saucer
  
  def index
    render_pdf :send_file => { :filename => 'bar.pdf', :x_sendfile => true}
  end
end­

La librería Flying Saucer necesita que las llamadas a los recursos(imágenes y hojas de estilo) sean llamadas de manera absoluta. Antes el plugin convertía las llamadas en rutas locales pero entonces no se podían usar los assets hosts, por lo que ahora se convierten en llamadas remotas y en caso de no especificar ningún asset host, se utiliza el mismo desde el que se este solicitando el documento:


# HTML 
<%= stylesheet_link_tag("styles.css") %>
<link href="/stylesheets/styles.css?1228586784" media="screen" rel="stylesheet" type="text/css">

<%= image_tag("rails.png") %>
<img alt="Rails" src="/images/rails.png?1228433051">

# PDF
<%= stylesheet_link_tag("styles.css") %>
<link href="http://localhost:3000/stylesheets/styles.css" media="print" rel="stylesheet" type="text/css">

<%= image_tag("rails.png") %>
<img alt="Rails" src="http://localhost:3000/images/rails.png">

Commit

Gracias a Max Williams por el feedback

Deja un comentario
*: campos obligatorios. La dirección de correo no será publicada