2012-04-15 147 views
0

我使用jQuery File Upload和Carrierwave一起上傳圖片。Ruby on Rails - Carrierwave,無法上傳多張圖片

我設法通過以下this manual使它工作,它可以很好地上傳單個圖像,但是一旦我添加HTML5多個屬性以允許一次上傳多個圖像並選擇多個圖像,我會在每個請求上收到以下錯誤。

NoMethodError in Advertiser::MediaController#create 
undefined method `[]' for nil:NilClass 

每個請求似乎完全一樣,我和我似乎無法弄清楚它爲什麼不能上傳多張圖片,但可以上傳單張圖片,請注意,如果我啓用了多個屬性,我可以」即使上傳單張圖片,但一旦我將其刪除,再次上傳作品。 jQuery File Upload是完全有能力上傳多個圖像,你可以在他們的演示中檢查出來。

任何暗示哪裏挖將非常感激。

預先感謝您。

回答

1
def create_from_uploader 
    p_attr = params[:photo] 
    p_attr[:photo] = p_attr[:photo][0] if p_attr[:photo].is_a?(Array) 
    @photo = @user.photos.build(p_attr) 
    if @photo.save 
     flash[:notice] = "Succes" 
    end 
    end 

而且在這樣的表格HAML查看HTML選項 - HTML:{多:真},並是,file_field使用多:真

+0

也似乎並不成爲問題。 我能夠將問題本地化爲驗證尺寸的自定義書面驗證方法。 時,執行該方法一次 http://pastebin.com/730wMrFM 問題是,當我設置多個=>真,文件變量爲空白 爲什麼? – Screatch 2012-06-21 13:11:19