2015-06-04 97 views
4

上傳多個文件在sr_documents/form與單一file_uploader軌道4

<%= simple_form_for @service_request,:url=>upload_document_path(@service_request.id),:remote=>true,:html => { :multipart => true } do |f| %> 

<%= f.nested_fields_for :sr_documents do |q| %> 

<%= q.input :file,:required => true,:hint=>"(only .pdf,.docx,.doc,.txt)", multiple: true,:name=>'file[]' %> 

<%= f.button :submit ,:class=> "btn btn-go button",data: {"disable-with" => "Processing..."}%> 

<%= f.add_nested_fields_link :sr_documents,"Add new file" %> 
<%end%> 

我用我的應用程序的寶石nested_form_fieldspaperclip。通過上面的代碼,我可以上傳多個文件。但我擔心的是,如何使用單個file_uploader上傳多個文件。我用名稱file[]:multiple=>true,仍然無法正常工作。請幫助我。

+0

使用單個文件場的多個文件?你在開玩笑嗎?這是不可能的,如果有人說這是事實。然後,我甚至想知道他們的答案。 – Surya

+0

好吧,您可以合併一些東西,如http://www.dropzonejs.com/? – Richlewis

+0

你試圖做的基本版本是不可能的。然而,你可以通過讓submit按鈕運行一些javascript,使用ajax實際執行一系列單獨的文件上傳,使它看起來像是發生了什麼。見http://blog.teamtreehouse.com/uploading-files-ajax –

回答

4

我也需要同樣的東西,但沒有罰款任何解決方案。 在我的項目,我使用

= file_field_tag :image_files, :multiple => true, name: 'image_files[]', style: 'display:none', :id => 'fileinput' 

用戶只需選擇該領域後,選擇多個文件。而在控制器我能夠獲得使用參數所有這些文件[:image_files]

然後我建立圖像爲:

# This method builds images as per image_files params 
    def build_images 
    (params[:image_files] || []).each do |img| 
     @product.images.build(file: img) 
    end 
    end 
+0

這並沒有真正回答這個問題。如果您有不同的問題,可以通過單擊[提問](http://stackoverflow.com/questions/ask)來提問。您也可以[添加賞金](http://stackoverflow.com/help/privileges/set-bounties)來引起對此問題的更多關注。 – MZaragoza

+0

我提出瞭解決方法。不要聲稱它是一個正確的答案:)。 – ravi1991