Есть ли причина, по которой вы хотите сохранить временный файл на вашем сервере? Если это так, этого должно быть достаточно (используйте fastcsv , который вам нужно установить):
require 'fastercsv'
FILE_PATH= "root/to/tmpfile.csv"
FasterCSV.open(FILE_PATH, "w") do |csv|
csv << 'add some data'
end
send_file file_path, :type=>'text/csv'
Я полагаю, что вам, вероятно, не нужно хранить файл, поэтому просто замените строку FasterCSV.open на:
csv = FasterCSV.generate do |csv|
Затем выложите CSV в ответ:
send_data csv, :type=> 'text/csv'