تعيين فئة رئيسية لفئة لديها بالفعل فئة فرعية ينتج عنه خطأ

تمكّنت من اكتشاف كيفية حل هذه المشكلة، لكنني اعتقدت أنها تستحق الإبلاغ عنها.

حاولت تعيين فئة رئيسية، cat-B، إلى cat-A التي كانت تحتوي بالفعل على 3 فئات فرعية. أعطاني نظام Discourse رسالة خطأ وقالت شيئًا مثل “لا يمكننا نقل الفئات الفرعية”. لذا أعتقد أن هناك حدًا لعدد الفئات التي يمكن تضمينها داخل بعضها البعض.

استنتجت أن هذا أمر مقبول، وسأقوم فقط بإعادة تعيين الفئة الرئيسية للفئات الفرعية الثلاث أولاً. ولكن عندما حاولت فعل ذلك، حصلت على خطأ استثنائي مثل هذا.

تُظهر وحدة التحكم خطأ 404 لعنوان URL ينتهي بـ c/cat-B/cat-A/subcategory/edit/find_by_slug.json

يظهر خطأ مماثل للفئتين الفرعيتين الأخريين من cat-A.

ما يجب أن يُظهره بدلاً من ذلك هو c/cat-A/subcategory/edit دون تضمين cat-B. لذا قمت بإدخال عنوان URL يدويًا بهذا التنسيق ووصلت إلى صفحة إعدادات الفئة العادية كما هو متوقع. تمكنت من إصلاح الفئات الفرعية الثلاث و cat-A بهذه الطريقة.

هذا على الأرجح مجرد خطأ صغير يستحق الإصلاح في المستقبل :muscle:

إعجابَين (2)

هل تعرف إصدار Discourse الذي يستخدمه موقعك؟ إذا كان موقعك مستضافًا ذاتيًا، يمكنك العثور على الإصدار في الجزء العلوي من لوحة تحكم الموقع الإدارية. السبب في أنني أسأل هو أنني أعتقد أن Discourse كان ينبغي أن تمنعك من إضافة الفئة الأصلية. عندما أحاول القيام بذلك، أحصل على الخطأ التالي:

من الممكن أنك تواجه خطأً تم إصلاحه في إصدار أحدث من Discourse. ومن الممكن أيضًا أنني لا أستنسخ المشكلة بشكل صحيح.

3 إعجابات

شكرًا للمساعدة @simon

الموقع مستضاف ذاتيًا ويبدو أنه أحدث إصدار.

إليك تفاصيل الإصدار. هل هذا يساعد؟

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

هل توجد أي تفاصيل حول الأخطاء عند زيارة الصفحة في /logs؟

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

لم أرَ أي تفاصيل خطأ ذات صلة في /logs. أنا لست مطورًا، لذا ربما فاتني شيء ما.

ومع ذلك، تمكنت من تكرار الخطأ. يبدو أنه متسق بما يكفي. كما قمت بفحص /logs ولم يكن هناك أي شيء جديد هناك.

إليك الرسالة التي تلقيتها عند محاولة تعيين فئة رئيسية لفئة تحتوي بالفعل على فئات فرعية.

إليك المزيد من التفاصيل حول ما يحدث في أعقاب ذلك:

1. فيما يتعلق بـ Cat-A
الفئة التي تحتوي على فئات فرعية وحاولت تعيين فئة رئيسية جديدة لها

  • تظهر Cat-A في الصفحة الرئيسية للفئات بشكل طبيعي. التنقل عبر Cat-A والفئات الفرعية يتصرف بشكل طبيعي.
  • لم تعد Cat-A تظهر في قائمة التنقل الرئيسية تحت جميع الفئات
  • عند تعديل Cat-A، يظهر خطأ 404 يشير إلى أن الصفحة غير مرئية.

2. فيما يتعلق بـ Cat-B
هذا هو ما حاولت تعيين Cat-A إليه

  • تظهر Cat-A في القائمة المنسدلة لـ Cat-B
  • عند تعديل Cat-B، كل شيء طبيعي

3. فيما يتعلق بالفئات الفرعية

عند تعديل أي فئة فرعية، يظهر نفس الخطأ

وهنا، بعد كتابة كل ذلك، تم شفاء الخطأ سحرًا دون الحاجة إلى استخدام حل العمل يدويًا عن طريق كتابة عنوان URL. يبدو أن كل شيء على ما يرام الآن يا أصدقاء.

إعجابَين (2)