2012-04-15 67 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