Я использую carrierwave для загрузки изображений.Мне нужно, чтобы версия основного изображения оставалась в исходном формате, но другие версии нужно преобразовать в gif.
В данный момент я делаю что-то вроде этого:
def filename
change_ext_to_gif(super)
end
def change_ext_to_gif(ext)
ext.chomp(File.extname(ext)) + ".gif"
end
version :preview do
process :resize_to_fill => [60, 60]
process :convert => "gif"
end
version :full do
process :resize_to_limit => [320, 320]
process :convert => "gif"
end
version :mobile do
process :resize_to_limit => [72, 96]
process :convert => "gif"
end
Конечно,это также меняет расширение моего исходного файла.Есть ли способ решить это?Я думаю, мне нужно переопределить некоторые методы в блоках версии.Но я не смог выяснить их (я попытался переопределить имя файла и URL, это помогает, но предотвращает удаление файлов версии).