0

首先我使用的是 db mysql,但后来我改用 postgres。

我编写了一些函数来将 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'。有什么建议吗?

4

1 回答 1

0

如果要将附件复制到新对象中,则需要告诉新对象读取原始附件,如下所示:

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

attachment_file在附件类中定义为已安装上传器的属性在哪里:

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

现在您的新对象已将文件加载到内存中。您可以像任何其他附件一样保存、验证或丢弃它!

于 2013-03-22T10:49:17.427 回答