2012-11-16 65 views
0

我有一個在Carrierwave中複製圖像的方法,但運行時收到錯誤Validation failed: Image could not download file。它會創建一個發票副本,然後檢查它的相關圖像,將它們設置爲remote_image_url並重新上傳它們。在carrierwave中複製圖像

我認爲這與圖像url結尾處存在AccessKey信息有關。任何想法?

def self.duplicate_it(invoice) 

    new_invoice = invoice.dup 
    new_invoice.save 

    if invoice.images.any? 
     invoice.images.each do |i| 
     temp_image = i.image 

     new_image = Image.new(:remote_image_url => temp_image.to_s, :order_id => new_invoice.id) 
     new_image.save! 
     end 
    end 

    end 

回答

0

這個工作

new_invoice = invoice.dup :include => {:lineitems => :images} do |original, kopy| 
    kopy.image = original.image if kopy.is_a?(Image) 
end