هذا يعمل! شكرًا جزيلًا لك. أفهم أنه باستخدام طريقة المطابقة (match method) هنا، فإنك تمر عبر الرابط للحصول، كما أفترض، على الحدوث الثالث لـ “/”، لأن المعرّف (id) سيحدث دائمًا بعد الشّرطة المائلة الثالثة في الرابط، والذي يعيد الشكل “/t/name/id/otherstuff”. هل يمكنك تقديم بعض المعلومات حول كيفية قيام تعبيرك النمطي (regex) بذلك؟ سيكون ذلك مفيدًا جدًا في رحلتي مع التعبيرات النمطية.
شكرًا لك على المعلومة. إذن، فإن “linked_post_number” هو ما يظهر أحيانًا ويسبب مشاكل في استدعاء واجهة برمجة التطبيقات (API call) الخاصة بي. تقول هنا إنه “اختياري”—هل هناك طريقة للتأكد من أنه لن يظهر أبدًا؟
عندما يزور المستخدم صفحة عرض الموضوع، أريد أن:
- أعرف برمجياً جميع الوسوم المرتبطة بذلك الموضوع. لاحظ أن بعض الوسوم مخفية عن عرض المستخدم.
- يكون هناك زر في صفحة الموضوع يضيف وسمًا مخفيًا معينًا إلى الموضوع عند النقر عليه (إذا لم يكن الوسم المخفي موجودًا بعد)، ويحذف الوسم المخفي عند النقر عليه (إذا كان الوسم المخفي موجودًا بالفعل).
كل هذا مباشر باستخدام واجهة برمجة التطبيقات للإدارة (Admin API) و JavaScript/jQuery (بافتراض أنني أستطيع الحصول على رابط الموضوع الصحيح لاستخدامه في استدعاءات واجهة برمجة التطبيقات).
أعتقد أن الطريقة الوحيدة الأخرى للقيام بهذا النوع من الأشياء هي إنشاء إضافة (plugin) حيث أغوص بعمق في: 1. إمبر (Ember)، 2. رايلز (Rails)، و3. قاعدة كود ديسكورد (Discourse). لقد راجعت المنشورات الرئيسية والوثائق الخاصة بديسكورد حول كيفية القيام بذلك، لكنني وجدت الأمر بطيئًا لأنك حقًا تحتاج إلى فهم هذه القطع الثلاث. لذا، فقد ركزت حتى الآن على نهج واجهة برمجة التطبيقات.
سأكون مهتمًا لسماع ما إذا كانت هناك طريقة أخرى للقيام بذلك تقلل من حمل الخادم.