Как переименовать уже загруженный с помощью carrierwave файл?

Здравствуйте
Необходимо переименовать уже существующие файлы загруженные с помощью carrierwave.
В загрузщике я изменил метод filename
было:
def filename
    "photo.jpg" if original_filename
  end

стало:
def filename
    "#{secure_token}.jpg" if original_filename
  end
  
  protected
  def secure_token
    var = :"@#{mounted_as}_secure_token"
    model.instance_variable_get(var) or model.instance_variable_set(var, SecureRandom.uuid)
  end


с помощью задачи rake пытаюсь пересоздать версии файлов.
RoutePointPhoto.all.each { |i| i.photo.recreate_versions! }

Но это только создает новые файлы с нужным именем, а в БД ничего не изменяет. Подскажите как быть?
  • Вопрос задан
  • 2516 просмотров
Решения вопроса 1
HerMajor
@HerMajor Автор вопроса
После того как изменили метод filename запускаете через rake task или c консоли
RoutePointPhoto.all.each do |p|
  p.photo.recreate_versions!
  p.save!
end
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы