Файловой системе на Heroku не сохраняются. Только файлы, загруженные с помощью механизмов развертывания (git push), «сохраняются». Другие, подобные тем, которые находятся в папке "#{Rails.root}/tmp/uploads"
, будут удалены. Вот почему они исчезают.
Я ответил на similar question here. Вот цитата:
Ваш динамометр на Heroku имеет файловую систему «только для чтения». В некотором смысле, ваши файлы не будут сохраняться между вашими перезапусками dyno, и нет никакой гарантии, что они будут сохраняться между любыми двумя запросами. Вот excerpt from the docs:
Каждый дино имеет свою собственную эфемерные файловую систему, а не совместно с любым другим дина, что отбрасывается как только вы отключаете. Эта файловая система заполнена архивом slug, поэтому одноразовые динозавры могут полностью использовать что-либо, развернутое в приложении.
Вы можете использовать папку #{Rails.root}/tmp
в качестве временной папки, но вам необходимо загрузить свои файлы на внешнюю память (S3, некоторые CDN и т. Д.). У Heroku есть несколько дополнений, которые упрощают управление.