我正在使用 amoeba gem 来复制记录,我正在使用 carrierwave 来上传图像。
我尝试使用变形虫从关联模型中复制图像,它只复制原始记录中的数据(它只复制图标名称,数据库中的文件属性),但图像不存在于文件系统中(在公共(public)文件夹)
这是我的模型
class Book < ActiveRecord::Base
has_many :images
self.class.amoeba do
include_field [:images]
end
end
class Image < ActiveRecord::Base
belongs_to :book
end
我用了下面的方法
duplicate = @book.amoeba_dup
duplicate.save
我在 Book 模型中尝试了以下内容
amoeba do
include_field :images
end
帮我解决这个问题
最佳答案
您可以将以下内容添加到图像模型中:
amoeba do
customize(lambda { |original_object,new_object|
new_object.image = original_object.image
})
end
或者如果您甚至在同一模型中有附件,您可以在模型本身中使用相同的代码,背后的想法是您需要分配回形针对象本身,如果没有这部分,它只会复制回形针文件的文件名、文件大小和文件类型,我们复制附件文件本身。
关于ruby-on-rails - 如何在 rails 中使用 amoeba gem 复制图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24604757/