Создание нескольких csv-файлов и загрузка всех в один zip-архив с использованием rails

Я ищу способ создать несколько CSV-файлов и загрузить их в виде одного zip-архива в рамках одного запроса в моем приложении rails.

Для сборки архива я использую rubyzip gem - для его загрузки просто встроена функция rails send_data. У меня проблема в том, что функция добавления rubyzip требует путь для загрузки файлов. Но пути нет, так как мои CSV-файлы создаются в рамках одного запроса.

Некоторый код:

# controller action to download zip
def download_zip
  zip = @company.download_all
  send_data zip, filename: "abc.zip", type: 'application/zip'
end

# method to create zip
def download_all
  Zip::File.open('def.zip', Zip::File::CREATE) do |zipfile|
    self.users.each do |user|
      #some magic to combine zipfile.add() and user.to_csv
    end
  end
end

# method to create csv
def to_csv
  CSV.generate do |csv|
    #build awesome csv
  end
end

Есть ли способ временно сохранить мои csv-файлы в каком-то каталоге, чтобы я мог передать путь к zipfile.add ()?

Хороших выходных и удачного кодирования!

Ответы на вопрос(2)

Ваш ответ на вопрос