Rinominare i file caricati

Aspetta. Non sono sicuro di capire cosa stai cercando di fare. Si tratta di cambiare il nome che le persone vedono nei post in cui sono stati caricati? Se è così, forse vorresti fare qualcosa come

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

Come descritto in Sostituisci una stringa in tutti i post. Credo che, per le tue esigenze, il nome originale del file nel modello Upload non sia davvero importante.

Ma puoi modificarlo con

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

Ho provato a rigenerare un post con quel caricamento e non è successo nulla.

MODIFICA:

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

Se incolli questo codice, puoi eseguire

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

Così risolverai il problema in modo che i download abbiano il nome di file migliore.

Nella mia vita passata come accademico, avevo il mio modo specifico di nominare i miei PDF, diverso da quello di chiunque altro; sono quasi sicuro che anche mia moglie abbia il suo. Immagino che a nessuno piaceranno i tuoi nomi di file, anche quando li avrai “corretti”. :wink: