新记录的多个文件上载

时间:2011-11-20 23:28:57

标签: ruby-on-rails ruby-on-rails-3 paperclip uploadify

我已为现有记录实施了多个文件上传,如https://github.com/websymphony/Rails3-Paperclip-Uploadify

所示

我想知道在创建新记录时是否可以实现多个文件上传。

由于我们需要flash来执行多个文件上传,如果尚未创建记录,如何将上传的文件与记录相关联。

我已经想到了一种基本上可以制作“草稿”并更新它的黑客方法。但是,我希望有更好的方法来做到这一点。

2 个答案:

答案 0 :(得分:4)

没有比你提出的那种黑客方式更好的了:

  • 创建孤儿对象并稍后给他们父母或删除它们(伤心啊?)

  • 默认情况下创建父对象,在表单中添加一些确认字段,以便您知道哪些对象确实拥有所有者,删除其余对象。

顺便说一句,你不需要为多次上传“需要”闪存,请看这里:http://blueimp.github.com/jQuery-File-Upload/

答案 1 :(得分:1)

是的,您可以使用http://blueimp.github.com/jQuery-File-Upload/。但是仍然需要注意一些要点。

  1. 在使用“multiple”定义文件字段后,不要忘记删除附加的数组。例如:将“photo [image] []”替换为“photo [image]”。否则文件上传者如“carrierware”将无法正常工作。
  2. 如果您使用的是rails 3.2.13,则无论您是否将名称设置为没有附加数组,都会始终显示附加的数组。您可以使用“file_field_tag”来解决此问题。请将此问题发送至:https://github.com/tors/jquery-fileupload-rails/issues/36
  3. 对于协会:

    1. 您需要创建一个隐藏文本字段,其中包含将与您要创建的记录相关联的图像ID。
    2. 通过“jquery-fileupload”(它是ajax)上传图像,然后从响应正文中获取图像的ID。
    3. 将这些ID设置为隐藏字段。