Espera. No estoy muy seguro de lo que estás intentando hacer. ¿Se trata de cambiar el nombre que las personas ven en las publicaciones en las que se han subido? Si es así, quizás quieras hacer algo como
rake posts:remap["old-name.pdf","newname.pdf"]
Como se describe en Reemplazar una cadena en todas las publicaciones. Creo que, para tus propósitos, el nombre de archivo original en el modelo Upload realmente no importa.
Pero puedes cambiarlo con
u=Upload.find_by(original_filename: 'mypretty-w9.pdf')
u.original_filename='better-name.pdf'
u.save
Intenté regenerar una publicación con esa carga y no pasó nada.
EDIT:
def rename_upload(old_name, new_name)
u=Upload.find_by(original_filename: old_name)
u.original_filename=new_name
u.save
end
Si pegas eso, puedes ejecutar
rename_upload('name.pdf','better-name.pdf')
Esto solucionará el problema para que las descargas tengan el nombre de archivo mejorado.
En mi vida anterior como académico, tenía mi forma específica de nombrar mis PDFs, que era diferente a la de cualquier otra persona; estoy bastante seguro de que mi esposa tiene la suya propia. Mi suposición es que a nadie le gustarán tus nombres de archivo, incluso cuando los pongas “correctamente”. ![]()