0

New programmer here. I need to create a 'Download Zip' feature on a rails 6 app that generates zipfile containing a directory of subfolders each containing ActiveStorage files. I've read the rubyzip documentation, but I'm just not advanced enough to put this together. Any help is very appreciated!

Details: I have the following relevant models: Listing, Offer, Attachment

  • Listing has many offers and offers belong to listings
  • Offer has_many attachments and attachments belong to offers
  • Attachments have an attachment_file(ActiveStorage file) and name

On my listings/show page, I would like a 'Download Zip' button that generates a zip containing a subfolder for each offer and in each subfolder would be the attachment_files associated with the given offer. (Similar to downloading a folder in Google Drive that contains additional subfolders)

Thanks for your help in advance!

Seth
  • 1
  • 1
  • 2
    You're basically asking for a tutorial on how to create a dynamic zip download from attachments in Rails – that's way to broad. If the feature seems too complex, make it simpler: start by serving a static zip file. Next, replace the static file with a dynamically created [basic zip archive](https://github.com/rubyzip/rubyzip#basic-zip-archive-creation) based on filenames. Once that works, figure out how you can use attachments instead of filenames. Then, add subfolders to the archive. Finally, traverse the actual listing and offers to build the full zip archive ... – Stefan Sep 24 '21 at 11:05
  • ... and if you are getting stuck, you can post a question regarding that _specific_ problem, including the relevant code. – Stefan Sep 24 '21 at 11:08

0 Answers0