إستبدال نص في جميع المنشورات

Topics.where(category_id: 123).each do |t|
  posts.where(topic_id: t).each do |p|
    p.raw.gsub!("replaceme","/")
    p.save
  end
end
./launcher enter app
rails c
# الصق هنا

قد ترغب في عمل نسخة احتياطية أولاً.

إعجابَين (2)

شكراً جاي، أقدر وقتك!
وقد تعلمت بالطريقة الصعبة أن أقوم بعمل نسخة احتياطية قبل أن أفعل أي شيء جاد :slight_smile:
تحديث: لقد نجح الأمر بشكل رائع، لكن كان علي استخدام \n بدلاً من /.
أيضًا، إنه Topic و Post في الكود أعلاه :slight_smile:
فكرة جيدة لإجراء إعادة خبز بعد تشغيل هذا أيضًا. في حالتي، كان ذلك لتجديد الصور المصغرة.

إعجابَين (2)

تم دمج منشور في موضوع موجود: استبدال المحتوى في مواضيع متعددة باستخدام التعبيرات العادية؟

مرحباً @nathank! هل وجدت حلاً جذرياً لهذه المشكلة؟ نحن نواجه مشكلة مماثلة حيث نرغب في (بشكل أساسي) استبدال “X” بـ “Y” تلقائياً في كل مرة يدرج فيها المستخدم “X” في موضوعه أو مشاركته.

هذه هي وظيفة ميزة الكلمات المراقبة. ستقوم باستبدال السلاسل عند إنشاء المنشور أو تعديله.

/admin/customize/watched_words

إعجاب واحد (1)

شكراً جاي! يبدو أن هذا سيعمل مع التسلسلات المستندة إلى الأحرف ولكن ليس مع التنسيق غير المستند إلى الأحرف مثل المسافات البادئة بعلامات الجدولة.

حالات الاستخدام: لدينا بعض الكتّاب الأقدم على منصتنا الذين لا يزالون يتعاملون مع لوحة المفاتيح كآلة كاتبة ويضغطون على شريط المسافة 5 مرات لإنشاء مسافة بادئة. الكتّاب الآخرون ينسخون ويلصقون بمسافة بادئة بعلامة جدولة. كلاهما يترك لنا ما يفسره discourse كعلامات. (إذا كنت أستخدم المصطلح بشكل صحيح.)

تم العثور على حل بديل من جانب مكون السمة حيث حصلنا على CSS لتجاوز تنسيق العلامات بشكل أساسي، وهو ما لا نحتاجه أبدًا لحالة الاستخدام المحددة لدينا.

تحياتي وشكراً لمساعدتك!

إعجابَين (2)