我试图生成包含来自数据库数据的CSV输出。我想将这些数据提供给第三方,所以我想要把一个URL (website.com/api_data/cars
) 给某人,并通过访问此URL,该人将能够使用这些数据 - 我认为我想要访问URL,然后在操作中看到用 ,
或 ;
分隔的数据。
但是如何做到这一点呢?
到目前为止,我尝试以下方法:
csv_string = CSV.generate do |csv|
cols = ["column one", "column two", "column three"]
csv << cols
csv << ["A", "B", "C"]
@filename = "data-#{Time.now.to_date.to_s}.csv"
end
send_data(csv_string, :type => 'text/csv; charset=utf-8; header=present', :filename => @filename)
这是在控制器 generate_data 和动作 csv_cars 中。
当我运行这个动作 (webste.com/generate_data/csv_cars),它会自动弹出一个窗口下载文件。
但是如何将 CSV 内容写入动作中呢?这样当我打开 URL 时,就能在其中看到来自数据库的内容了吗?
render_csv
。我在相同的情况下使用它。 - Roman Kiselenkosend_data
结构吗?(顺便说一句,感谢您的快速回复) - user984621