У меня есть функция, которая создает резервную копию приложения и загружает ее в zip-файл с данными в базах данных, изображениями, файлами и т. д. Для этого я создаю большой временный файл (используя класс Tempfile), который отправляет в браузер с send_data, но когда я удаляю его после send_data, загрузка не удалась, и его память не освобождается.
send_file(zip_data.path, type: 'application/zip', filename: "#{model_name}.zip")
zip_data.unlink
Класс обслуживания: http://pastebin.com/MskjP8d7
Метод контроллера: http://pastebin.com/CV9Wr27h