2013-03-18 43 views
0

第一次我使用db mysql,但後來我改爲postgres。carriwave,克隆對象如何包含圖像

我寫了一些函數來將db從sql克隆到postgres。而且我有一個來自Image表格的克隆數據庫的問題。

ImageClone.all.each do |p| 
    img = Image.new() 
    img.imageable_id = p.imageable_id 
    img.imageable_type = p.imageable_type 
    img.uploader = p.uploader 
    puts p.uploader #=> 'testing_image.jpg' 
    img.save 
end 



=> #<Image id: 1, imageable_id: 1, imageable_type: "ProductType", uploader: nil> 

如何設置圖片url ='testing_image.jpg'。 有什麼建議嗎?

回答

0

如果你想複製一個附件到你需要告訴新對象讀取原始附件,像這樣一個新的對象:

new_object.attachment_file = File.open(old_object.attachment_file.path) 

哪裏attachment_file被定義爲您的附件安裝上傳屬性類:

class Object < ActiveRecord::Base 
    mount_uploader :attachment_file, AttachmentUploader 

現在你的新對象已經將文件加載到內存中。您可以保存它,驗證它或丟棄它,就像任何其他附件!