2016-10-29 6 views
0

Es funktioniert teilweise. Es erzeugt die Datei, aber die Ausgabe ist nicht wie ich es will.Rails exportieren in CSV-Datei

-Controller

@messages = Message.take(2) 
    respond_to do |format| 
    format.html 
    format.csv { send_data @messages.to_csv } 
    end 

Message.rb

def self.to_csv 
    CSV.generate do |csv| 
      csv << Message.attribute_names 
      Message.all.each do |message| 
      csv << message.attributes.values 
      end 
    end 
end 

ich die CSV-Datei heruntergeladen zu bekommen, es enthält die Aufzeichnungen selbst, aber es zeigt nicht die Spalten und Werte

#<Message:0x007fca7a028338>,#<Message:0x007fca79a6bf58> 

Ich würde die Message-Attribute wie erwarten:

Antwort

1

Message.take(2) gibt Array zurück. Sie benötigen ActiveRecord :: Relation.

Versuchen Sie Message.limit(2)