Как скопировать изображения с помощью амебы в рельсы?
Я использую драгоценный камень амеба для дублирования записи, и я использую несущую волну для загрузки изображений.
Я попытался скопировать изображения из связанной модели с помощью 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?
})
Это сработало для меня