繁体   English   中英

Ruby on Rails中多文件上传的最佳方法

[英]Best approach to multiple file uploads in Ruby on Rails

我在这里问了一个类似的问题,答案不成功: Uploadify + Paperclip + Rails嵌套关联before_save

所以我将重新提出我的问题:

Rails中一次上传多个文件并将它们关联到尚未保存的对象的最佳方法是什么? (例如,模型(女孩)应用程序表单在创建操作完成时保存到数据库(按下保存按钮)。

我想到了很多想法(在尝试上传图像之前用ajax保存对象,在图像中添加一个令牌,然后在保存模型对象后添加模型的ID)但我很确定很多人都这样做了有一种共同的方法或最好的方法来做到这一点。

先感谢您! 马丁。

我在我的一个rails 3应用程序中使用它:

= form_for :import_csv, :url => {:action => :import_csv}, :html => {:multipart => true} do |f|
  = f.file_field :csv
  = f.submit 'Upload CSV'

这将创建一个可以使用的检索临时文件

CSV.open(params[:import_csv][:csv].tempfile.path)

我没有理由为什么这不能扩展到多个上传,并在params[:import_csv][:whatever]

注意**在rails 3.0.3中,tempfiles的处理稍有改变,这就是为什么上面的代码使用.tempfile.path ,这在以前的版本中是不需要的。

一年多以前,我遇到了类似的问题,找不到一个现成的解决方案,因此做了如下:
1.使用SWFUpload将图像上传到“store_image”动作,该动作存储,调整大小,...,并返回缩略图的路径和上传图像的ID。
2.使用JS将图像ID放入隐藏字段值。 我使用单字段,其值如“2312111:3231231:323212”。
3.创建“主”对象时,按ID查找上传的图像,并确定它们与主题的关系。

垃圾收集器还会删除3天前创建的无关图像。 垃圾收集器每天都由cron运行。

至于我,这是最优雅的解决方案。

__
对不起,我的英语不好

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM