如何在Rails 4中使用jquery上传多个文件?

时间:2014-05-28 20:49:41

标签: jquery ruby-on-rails file-upload ruby-on-rails-4

我添加了一个上传表单,以便人们可以将HTML文件上传到我的网站。如何一次允许多次上传?我添加了jquery-fileupload-rails gem,让用户可以选择多个文件。但是,服务器只处理一个文件。我该如何解决?

更多详情

我的代码如下所示,基于此Railscast。注意我没有处理表单中的模型,所以我使用field_tags代替。我没有为file_field_tag添加名称,因为它的名称在添加文件后没有改变,尽管这可能是问题的一部分。

<%= form_tag import_items_path, multipart: true, id: "upload" do %>
    <%= file_field_tag :file, multiple: true %>
    <%= submit_tag "Import" %>
<% end %> 

这里有一些用于fileupload jQuery的JS:

jQuery ->
  $('#upload').fileupload

当我添加2个文件并单击上传时,只处理1个文件。这是日志:

  

参数:{“utf8”=&gt;“✓”,“file”=&gt; #&LT; ActionDispatch :: Http :: UploadedFile:0x ... @tempfile =#&lt; Tempfile:/ var / folders / gl /...> ;, @ original_filename =“sample.html”,@ content_type =“text / html”,... name = \“file \”;文件名= \ “sample.html \” ...}

我试过ajaxifying表单,但这也没有帮助。如何让Rails 4中的jquery-fileupload-rails工作?

1 个答案:

答案 0 :(得分:3)

如果您将<%= file_field_tag :file, multiple: true %>更改为<%= file_field_tag 'files[]', multiple: true %>,则应该有效。

请参阅this相关的SO帖子。