بعد التحديث إلى الإصدار الأحدث مؤخرًا، لاحظت أن فئتين من فئاتي تشيران إلى نفس الفئة (لنفترض أن لديك الفئة 1 والفئة 2، وكلاهما يعرض محتويات الفئة 1). هذا السلوك غريب بحد ذاته، لذا عندما حاولت “فك هذا التعقيد”، جربت تغيير إعدادات الفئة 2، وهي الفئة التي تظهر المنشورات الخاطئة. لم تُحفظ التغييرات بغض النظر عن عدد المحاولات.
ومع ذلك، حاولت تغيير عنوان URL الخاص بالفئة إلى شيء آخر لأرى ما إذا كان ذلك سيجبر النظام على إعادة التحميل أو ما شابه. الآن، عند النقر على الفئة، يتعطل Discourse في حالة إعادة تحميل مستمرة دون تحديث عنوان URL إلى الفئة الصحيحة. لذا، ما لم أكن أفتقد شيئًا، فأنا الآن غير قادر على تعديل الفئة، حيث أعتقد أنك تحتاج إلى الدخول إليها لتعديلها.
لقد قمنا بالفعل بإعادة بناء المثيل الخاص بنا وكل شيء، لكن لم يحدث أي تغيير. هل لدى أحدكم أي اقتراح حول ما يجب فعله؟
ربما تفحص الروابط الدائمة؟ يُنشأ رابط دائم عند إعادة تسمية فئة. قد يكون هذا هو سبب المشكلة (أعتقد أنه سيكون من الواضح إذا كانت هذه هي المشكلة، لكن هذا كل ما لدي).
في الواقع، هناك رابط دائم (permalink) للفئة، لكنني ما زلت أواجه نفس السلوك الغريب.
أثناء تجربتي مع الروابط الدائمة، أعتقد أنني فهمت المشكلة: “الفئة 1” لها اسم عادي (أي: “Category”)، بينما “الفئة 2” كان لها اسم رقمي (أي: “11”). يبدو لي أن ما يحدث هو أنه بما أن “الفئة 1” تحتوي على “معرف الفئة” (Category ID) وهو نفس الرقم الذي يحمل اسم “الفئة 2”، فإن كل شيء يختل.
بما أن تغيير الاسم الذي قمت به كان إلى رقم أكبر فقط للتجربة (من “11” إلى “111”)، فقد علق التحميل… ربما لأنه يبحث عن معرف الفئة “111”؟ هل يمكن لأحد تأكيد ما إذا كان هذا ممكنًا؟
تمت إضافة الروابط الدائمة إلى كل من الاسم القديم (“11”) والاسم الجديد (“111”). لم يكن هناك أي تأثير، ولا يزال التحميل مستمراً (كان لا بد من تخمين معرف الفئة، ولا أعرف ما إذا كان هناك طريقة للتحقق منه في مكان ما).
أود إضافة شيء ما: الفئة المعنية هي فئة فرعية (أذكر ذلك فقط لأنني، عند النظر إلى عنوان URL، لا أعرف ما إذا كان ذلك يؤثر على المخرجات). لذا فهو شيء على غرار /c/ParentCategory/111.
هل توجد طريقة للتلاعب بفئة إذا لم تتمكن من الوصول إليها؟ لمحاولة تغيير عنوان URL أو شيء من هذا القبيل؟
حاولت تجرب أشياء مختلفة ضمن معرفتي المحدودة. ما لم يوجهني شخص ما إلى طريقة لتعديل فئة دون الدخول إليها، فأنا بلا الكثير من الأفكار… هل هناك طريقة لنقل جميع المواضيع في فئة معينة إلى فئة أخرى؟
وبما أنني لا أستطيع حل هذه المشكلة بنفسي، فربما تكون إحدى طرق التخفيف منها لتحسين تجربة المستخدم هي نقلها إلى فئة أخرى وترك الفئة “الميتة” حتى يتوصل شخص ما إلى فكرة أفضل (لأنه حسب ما أذكر، لا يمكن حذف فئة دون الدخول إليها، لذا ستبقى فارغة في القائمة).
cd /var/discourse
./launcher enter app
rails c
Category.find_by_slug('STARTING-CATEGORY-SLUG').id
Category.find_by_slug('DESTINATION-CATEGORY-SLUG').id
exit
استبدل STARTING-CATEGORY-SLUG و DESTINATION-CATEGORY-SLUG بـ slugs الفئة المصدر والوجهة. ستكون النتيجة رقمي ID.
شكرًا لك، لكن مهندسينا لديهم بالفعل حل لمنع إدراج الأرقام في روابط التصنيفات. كما اكتشفت، حاليًا استخدام “11” كاسم للتصنيف أمر مقبول، لكن الرابط الخاص بالتصنيف سيتطلب تغييره إلى شيء لا يبدأ برقم، مثل cat-11.