第一个我正在使用db mysql,但后来我改为postgres。
我编写了一些函数来将db从sql克隆到postgres。我在Image表中遇到了克隆db的问题。
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 :(得分:0)
如果要将附件复制到新对象中,则需要告诉新对象读取原始附件,如下所示:
new_object.attachment_file = File.open(old_object.attachment_file.path)
attachment_file
是在附件类中定义为已装载上传者的属性:
class Object < ActiveRecord::Base
mount_uploader :attachment_file, AttachmentUploader
现在你的新对象将文件加载到内存中。您可以保存,验证或丢弃它,就像任何其他附件一样!