3

我正在使用 amoeba gem 来复制记录,并且正在使用carrierwave 来上传图像。

我尝试使用变形虫从关联模型中复制图像,它仅从原始记录中复制数据(它仅复制图标名称,数据库中的文件属性),但图像不存在于文件系统中(在公共文件夹中)

这是我的模型

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

帮我解决这个问题

4

2 回答 2

4

您可以将以下内容添加到图像模型:

  amoeba do
     customize(lambda { |original_object,new_object|
       new_object.image = original_object.image
     })
  end

或者,如果您甚至在同一模型中有附件,您可以在模型本身中使用相同的代码,背后的想法是您需要分配回形针对象本身,如果没有这部分,它只会复制回形针文件的文件名、文件大小和文件类型无需复制附件文件本身。

于 2015-04-14T22:46:38.773 回答
0

我对这个 gem 没有任何经验,但是您是否尝试过将以下代码添加到Book模型中

amoeba do
    enable
  end

有关更多详细信息,请参阅此文档 ,这可能会对您有所帮助

于 2014-07-07T07:14:04.183 回答