Я загружаю файл на сервер в Ruby on Rails
Обычно это текстовый файл, и я сохраняю его в модели как ' file 'в Submission ActiveRecord с другими полями, такими как заголовок отправки ... и т. д.
Однако пользователь также может отправить zip-файл. В этом случае zip-файл должен быть разархивирован, и для каждого файла в zip-архиве должно быть создано новое представление с теми же текстовыми полями, но с текущим файлом.
Как я могу это сделать?
Я просмотрел примеры распаковки в сети, но большинство из них используют каталог для распаковки файлов. Я не уверен, нужно ли мне это, поскольку в текущем методе создания SubmissionsController получается файловый объект, и я предполагаю, что путь для сохранения файла автоматически создается при вызове метода сохранения Submission. Итак, я подумал, что, возможно, мне следует распаковать zip-файл в памяти, чтобы получить массив файловых объектов, а затем создать новое представление с каждым файловым объектом, но с теми же полями, а затем позволить ActiveRecord генерировать пути к файлам для каждого из них, когда он сохраняет их в база данных. Я могу ошибаться здесь, потому что я новичок в Rails и Ruby.