Решение, которое работает при работе с кэшированием, - это сохранение подключенного объекта после воссоздания версий:
Пример:
avatar.image.recreate_versions!
avatar.save!
Таким образом, вы можете продолжать использовать уникальные имена файлов даже при воссоздании версий и правильно обрабатывать кэширование.