انتظر. لست متأكدًا تمامًا مما تحاول فعله. هل هو تغيير الاسم الذي يراه الأشخاص في المنشورات التي تم رفعها؟ إذا كان الأمر كذلك، فقد ترغب في القيام بشيء مثل:
rake posts:remap["old-name.pdf","newname.pdf"]
كما هو موضح في استبدال نص في جميع المنشورات. أعتقد أنه بالنسبة لأغراضك، لا يهم اسم الملف الأصلي في نموذج الرفع حقًا.
لكن يمكنك تغيير ذلك باستخدام:
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 الخاصة بي والتي كانت مختلفة عن أي شخص آخر؛ أنا متأكد تقريبًا أن لزوجتي طريقتها الخاصة. تخميني هو أن لن أحدًا أن يعجبهم أسماء ملفاتك حتى عندما تحصل عليها “بشكل صحيح”. ![]()