2010-11-29 16 views
21

Necesito exportar datos como CSV en rails appl. Encontré este complemento: https://github.com/crafterm/comma. ¿Conoces alguna mejor solución?Exportar datos a CSV en rieles

+3

Parece bastante completo y maneja las relaciones de datos, yo diría que se quede con ** coma ** – ocodo

+1

Coma no funciona para mí en rails3. Encontré https://github.com/econsultancy/csv_builder y funciona bien. – boblin

+1

Puede confirmar que la coma no funciona en Rails 3. – Fletch

Respuesta

37

Si usa Ruby 1.9.x, utilice CSV en lugar de FasterCSV y cumpla con los delimitadores predeterminados.

controlador:

respond_to do |format| 
    ...   
    format.csv { render :layout => false } 
end 

show.csv.erb:

<%= this_is_your_view_helper_method.html_safe %> 

controller_helper.rb:

require 'csv' 

def this_is_your_view_helper_method 
    CSV.generate do |csv| 
    Product.find(:all).each do |product| 
     csv << ... add stuff here ... 
    end 
    end 
end 
+10

FasterCSV se convirtió en la biblioteca de CSV estándar en Ruby 1.9, por lo que no es necesario descargarlo, ya está allí si está en Ruby 1.9. – Fletch

+1

Funciona muy bien con rieles 3.x también. –

+1

Gracias @Fletch por la nota! Esta respuesta ha sido downvoted dos veces y no tengo idea de por qué. Si bajas tu voto, házmelo saber por qué lo haces. – hade

2

Pedido este desbordamiento de pila answer para el uso de CSV en Ruby 1.9.x (que, como notó Fletch, incluye FasterCSV pero con una sintaxis ligeramente diferente).

Cuestiones relacionadas