复制记录不会复制图像

时间:2016-07-31 14:46:24

标签: ruby-on-rails carrierwave amoeba-gem

我正在尝试复制我的记录并使用变形金刚宝石。一切都很好,除了图像(通过载波的上传者)

对于图像,我尝试在变形虫中进行自定义设置,如下所示:

amoeba do
    customize(lamba { |original_object, new_object|
        new_object.photo = original_object.photo
    })

但是刚刚返回图像的路径仍然是在加载时查看单个记录ID。

编辑:好的,所以我安装了copy_carrierwave_file gem并试图实现它,但它似乎没有用。我在after_save回调中调用此函数

def create_duplicate
        puts 'Starting duplication'
        new_recipe = self.amoeba_dup
        new_recipe.original_id = self.id

        CopyCarrierwaveFile::CopyFileService.new(self, new_recipe, :photo).set_file
        new_recipe.save
end

我在服务器或任何地方都没有出现任何错误,但它没有做任何事情

1 个答案:

答案 0 :(得分:0)

您可以手动复制文件:

new_object.photo = File.open(original_object.photo.file.file) if original_object.photo.present?

另一种从本地文件上传文件的方法是here

您也可以查看copy_carrierwave_file gem