Warte. Ich bin mir nicht ganz sicher, was du genau vorhast. Geht es darum, den Namen zu ändern, den die Nutzer in den Beiträgen sehen, in denen die Dateien hochgeladen wurden? Falls ja, dann könntest du vielleicht so etwas wie
rake posts:remap["old-name.pdf","newname.pdf"]
ausführen, wie in Ersetze einen String in allen Beiträgen beschrieben. Ich denke, für deinen Zweck ist der ursprüngliche Dateiname im Upload-Modell nicht wirklich wichtig.
Aber du kannst ihn ändern mit:
u=Upload.find_by(original_filename: 'mypretty-w9.pdf')
u.original_filename='better-name.pdf'
u.save
Ich habe versucht, einen Beitrag mit diesem Upload neu zu generieren, aber es ist nichts passiert.
EDIT:
def rename_upload(old_name, new_name)
u=Upload.find_by(original_filename: old_name)
u.original_filename=new_name
u.save
end
Wenn du das einfügst, kannst du dann
rename_upload('name.pdf','better-name.pdf')
ausführen. Das wird dafür sorgen, dass die Downloads den besseren Dateinamen erhalten.
In meinem früheren Leben als Wissenschaftler hatte ich meine ganz eigene Art, meine PDFs zu benennen, die sich von der aller anderen unterschied; ich bin mir ziemlich sicher, dass meine Frau ihre eigene hat. Meine Vermutung ist, dass niemand deine Dateinamen mögen wird, selbst wenn du sie „richtig