ruby-on-rails - 如何在 rails 中使用 amoeba gem 复制图像?

标签 ruby-on-rails ruby ruby-on-rails-3 amoeba-gem

我正在使用 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/

相关文章:

javascript - 充当嵌套资源的 Votable

ruby-on-rails - 设计:在 session 上调用方法#destroy

ruby-on-rails - 如果 config.assets.compile = false,为什么我的 Rails 应用程序无法在生产环境中运行?

ruby - Sinatra 找不到 View 目录

Ruby 混淆使用 "colons"

ruby-on-rails - 在 Active Admin (Rails 3.2/postgreSQL/active admin 1.0) 上过滤多选

javascript - 从不同文件调用 JavaScript 构造函数方法 - Rails

Ruby 时间段类

ruby-on-rails-3 - 加快 RSpec 和 Factory girl 模型测试?

ruby-on-rails - Rails Associations Riddle : User, 讲师、学生和事件