Espere. Não tenho certeza do que você está tentando fazer. É para alterar o nome que as pessoas veem nos posts em que são carregados? Se for esse o caso, talvez você queira fazer algo como
rake posts:remap["old-name.pdf","newname.pdf"]
Como descrito em Substituir uma string em todos os posts. Acredito que, para o seu caso, o nome original do arquivo no modelo Upload não importa muito.
Mas você pode alterá-lo com
u=Upload.find_by(original_filename: 'mypretty-w9.pdf')
u.original_filename='better-name.pdf'
u.save
Tentei reconstruir um post com esse upload e nada aconteceu.
EDIT:
def rename_upload(old_name, new_name)
u=Upload.find_by(original_filename: old_name)
u.original_filename=new_name
u.save
end
Se você colar isso, poderá executar
rename_upload('name.pdf','better-name.pdf')
Isso corrigirá o problema para que os downloads recebam o nome de arquivo melhor.
Na minha vida anterior como acadêmico, eu tinha minha maneira específica de nomear meus PDFs, diferente de qualquer outra pessoa; tenho certeza de que minha esposa tem a dela. Acredito que ninguém vai gostar dos seus nomes de arquivo, mesmo quando você os colocar “certos”. ![]()