Как скопировать изображения с помощью амебы в рельсы?

Я использую драгоценный камень амеба для дублирования записи, и я использую несущую волну для загрузки изображений.

Я попытался скопировать изображения из связанной модели с помощью amoeba, он только копирует данные из исходной записи (он копирует только имя значка, атрибуты файла в базе данных), но изображения отсутствуют в файловой системе (в папке 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

Я попытался со следующим в книге модели

amoeba do
    include_field :images
end

Помоги мне решить это

3 ответа

Вы можете добавить следующее к модели изображения:

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

ИЛИ, если у вас есть вложение в той же модели, вы можете использовать тот же код в самой модели, идея заключается в том, что вам нужно назначить сам объект скрепки, а без этой части он будет копировать только файлы скрепки для имени файла, размера файла и типа файла. без копирования самого файла вложения.

У меня нет никакого опыта с этим драгоценным камнем, но вы пробовали, добавив приведенный ниже код в Book модель

amoeba do
    enable
  end

для более подробной информации обратитесь к этой документации, это может помочь вам

      customize(lambda { |original_object, new_object|
  new_object.picture.attach(original_object.picture.blob) if original_object.picture.attached?
})

Это сработало для меня

Другие вопросы по тегам