есть 2 способа я могу думать вы можете сделать это
а) VIA Versioning: создать версию файла
version: copy_file do
process :create_a_copy
end
и теперь просто определите метод create_a_copy
внутри вашего загрузчика, который просто вернет тот же файл
Таким образом, вы можете иметь копию файл .I не поняли ваши custom filename
вещей, но так, как вы должны определить это ваш для загрузчика filename
метода вы можете сделать то же самое для version
, а что-то вроде этого
version: copy_file do
process :create_a_copy
def filename
"testing.png"
end
end
ПРИМЕЧАНИЕ: Не уверен в имени файла вещи для версии файла, так как я сделал это долго назад, но я считаю, что описанная выше настройка различных filename
метод будет работать.
Adavantage:
- всех файлов и копирования объединены в одном пользователя
- Никаких дополнительных столбцов не требуется базы данных (который необходим в подходе б)
Теперь вышеописанный подход слишком имеют некоторые оговорки
- Немного сложнее
- Одно удаления проблемы, удаление в добавившем удалят свою копию, а
б) через отдельные колонны: Они другой пути вы можете добиться того, что является определяющим отдельным столбцом artwork_copy
и смонтировать такой же загрузчик с только немного изменить в пользователя, как этот
def filename
if self.mounted_as == :artwork
"artwork.png"
else
"testing.png"
end
end
И, как вы вложите файл (дайте, что файл хранится в локально)
u = User.find(5)
u.artwork_copy = File.open(u.artwork) ## Just cross check
u.save
Существует другое, как вы делаете это с помощью сделать выше же
u = User.find(5)
u.artwork_copy.store!(File.open(u.artwork))
Теперь это довольно очевидно, что преимущество/недостаток упоминания подхода б выше
Надеются, что это имеет смысл
Что значит копировать, вы имеете в виду изменить существующий файл, который уже загружен – Viren
Я хочу получить изображение с моим настроенным файловым именем вместе с исходным файлом. – Mano
почему бы не создать другой файл и применить к нему тот же самый загрузчик – Viren