أحاول البحث عن صور معطلة متبقية من هجرتنا من المنتدى إلى Discourse واستبدالها، وقد حققت نجاحًا كبيرًا (أحب أمر remap!) لكنه لا يجد أي شيء لاستبداله في هذه الأمثلة، ولا أستطيع رؤية أي خطأ، هل يمكنك ذلك؟
أوه، انتظر قليلاً، بعض هذه الصور تعمل. هل هذه وظيفة المرفقات في Discourse؟ هل هناك منطق عرض مخصص يعمل بدلاً من أن تكون هذه سلاسل HTML في قاعدة البيانات؟
raw هو الحقل الذي يحتوي على النص الذي تراه في المحرر. الأشياء التي تقوم باستبدالها هي ما تراه عند تعديل المنشور في واجهة المستخدم، أليس كذلك؟ (cooked هو ما تم معالجته وما يتم عرضه.)
أقوم بتنفيذ عمليات لإعادة كتابة المنشورات. قد يكون هذا كافيًا لجعلك خطرًا:
bps = Post.where("raw like '%//SOME-STRING%'")
bps.each do |post|
post.raw.gsub!(/OLD/,'NEW')
post.save
end
الميزة مقارنة بمهمة Rake هي أنك لا تضطر للتنقل بين مستويات متعددة من الهروب.