0

我正在尝试复制我的记录并使用变形虫宝石。除了图片(通过carrierwave上传),一切都很好

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

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

我在服务器或任何地方都没有收到任何错误,但它什么也没做

4

1 回答 1

0

您可以手动复制文件:

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

此处描述了从本地文件上传文件的另一种方法。

您也可以查看copy_carrierwave_file gem

于 2016-07-31T16:49:17.703 回答