Ruby on rails 3 向Carrierwave上载程序动态添加文件版本

Ruby on rails 3 向Carrierwave上载程序动态添加文件版本,ruby-on-rails-3,file-upload,zip,carrierwave,Ruby On Rails 3,File Upload,Zip,Carrierwave,我想使用CarrierWave上传程序来解压包含可变数量文件的上传zip文件,并将每个文件存储在存储zip文件的相同位置。文件应该在保存上传程序的模型中可用 我只需要一个如何实现这一点的起点。不确定这是否100%相关,但我刚刚制作了一个接受zip文件的Gallery控制器,并将此zipfile的内容添加为与Gallery模型关联的图像 我通过使用Zippy gem以及一个扩展StringIO的自滚式无文件文件类来实现这一点 zipfile中的每个文件都保存为一个单独的载体Wave-mounted

我想使用CarrierWave上传程序来解压包含可变数量文件的上传zip文件,并将每个文件存储在存储zip文件的相同位置。文件应该在保存上传程序的模型中可用


我只需要一个如何实现这一点的起点。

不确定这是否100%相关,但我刚刚制作了一个接受zip文件的
Gallery
控制器,并将此zipfile的内容添加为与
Gallery
模型关联的
图像

我通过使用Zippy gem以及一个扩展StringIO的自滚式无文件文件类来实现这一点

zipfile中的每个文件都保存为一个单独的载体Wave-mounted
Image
model

在你的例子中,我想你可能有一个
文件
模型(和一个文件上传器),它
属于你的主模型,你的主模型与
文件
模型有很多关系

有关控制器和“魔术”无文件处理的豁免,请参阅:

注意:请注意,我不使用CarrierWave处理zipfile上载,我使用CarrierWave将文件保存在zipfile中。如果您还需要存储zipfile,您可以创建zipfile上传器,并将zipfile与各个文件一起装载到主模型上,或者只需重用
文件
上传器,并将zipfile保存在主模型的一个字段中