Переименование загруженных файлов

Погодите. Я не совсем уверен, что вы пытаетесь сделать. Речь о том, чтобы изменить имя, которое видят пользователи в постах, где эти файлы загружены? Если так, то, возможно, вам стоит выполнить что-то вроде:

rake posts:remap["old-name.pdf","newname.pdf"]

Как описано в статье Заменить строку во всех постах. Думаю, что для ваших целей оригинальное имя файла в модели Upload не имеет особого значения.

Но вы можете изменить его вот так:

u=Upload.find_by(original_filename: 'mypretty-w9.pdf')
u.original_filename='better-name.pdf'
u.save

Я попытался пересобрать пост с этой загрузкой, но ничего не произошло.

РЕДАКТИРОВАНИЕ:

def rename_upload(old_name, new_name)
  u=Upload.find_by(original_filename: old_name)
  u.original_filename=new_name
  u.save
end

Если вы вставите этот код, то сможете выполнить:

rename_upload('name.pdf','better-name.pdf')

Это исправит ситуацию так, что при загрузке файлы будут получать более подходящее имя.

В прошлой жизни, когда я был академиком, у меня был свой особый способ именования PDF-файлов, который отличался от всех остальных; я почти уверен, что у моей жены тоже есть свой. Думаю, что даже когда вы приведёте имена файлов «как надо», никто не останется доволен. :wink: