<%= semantic_form_for(@image, :url => { :action => "create_friend_upload" }, :html => {:multipart => true}) do |f| %>
<%= f.inputs do %>
<%= f.input :image, :input_html => {:multiple => true}, name: "gallery[image]" %>
<%= f.hidden_field :friend_upload, :value => true %>
<%= f.hidden_field :user_id %>
<%= f.hidden_field :friend_uploader, :value => current_user.name %>
<% end %>
<%= f.buttons do %>
<%= f.commit_button :button_html => {:class => "primary"} %>
<% end %>
<% end %>
問題是我一直在提交一個數組,Carrierwave無法處理。它一直說name=\"gallery[image][]\"
而不只是name=\"gallery[image]\"
。 (見下文)。正因爲如此,我也不斷收到錯誤信息can't convert nil into String
。使用Carrierwave和JQuery文件上傳的多文件上載
@headers="Content-Disposition: form-data; name=\"gallery[image][]\"; filename=\"VW 3.jpeg\"\r\nContent-Type: image/jpeg\r\n",
任何人都知道如何解決這個問題?謝謝!
更新:
我沒有看到jQuery的賴安的railscasts視頻以及,他的此修復程序並沒有爲我工作。
Gallery.rb
class Gallery < ActiveRecord::Base
attr_accessible :image, :name, :friend_upload,
mount_uploader :image, GalleryUploader
end
庫控制器
def friend_upload
@image = Gallery.new
end
def create_friend_upload
@image = Gallery.create(params[:gallery])
end
你能告訴我們的畫廊模式聲明? –
@ D3mon-1stVFW,我用圖庫的模型和控制器更新了這個問題。謝謝。 – noob
你可以嘗試繞過載波,並直接上傳你的文件到S3,如下所述:http://pjambet.github.com/blog/direct-upload-to-s3/,這個例子是爲一個文件,但與一個文件輸入倍數多,效果很好。 – pjam