Rails 导出到 CSV 文件
Rails export to CSV file
部分有效。它生成文件,但输出不是我想要的。
控制器
@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
我下载了 CSV 文件,它本身包含记录,但不显示列和值
#<Message:0x007fca7a028338>,#<Message:0x007fca79a6bf58>
我希望消息属性如下:
ID,text
1,hello
2,world
Message.take(2)
returns 数组。你需要 ActiveRecord::Relation.
尝试Message.limit(2)
部分有效。它生成文件,但输出不是我想要的。
控制器
@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
我下载了 CSV 文件,它本身包含记录,但不显示列和值
#<Message:0x007fca7a028338>,#<Message:0x007fca79a6bf58>
我希望消息属性如下:
ID,text
1,hello
2,world
Message.take(2)
returns 数组。你需要 ActiveRecord::Relation.
尝试Message.limit(2)