فئة slug تحتوي على أحرف Unicode تؤدي إلى حلقة إعادة توجيه

لقد قمت بتفعيل (بعض) أحرف Unicode في أسماء المستخدمين، وeverything يعمل كما هو متوقع.

عندما حاولت استخدام أحرف Unicode في رابط التصنيف (slug)، تم تحويله إلى ترميز النسبة المئوية وسُمح لي بحفظ التغييرات، لكن لم أعد قادرًا على الوصول إلى قائمة مواضيع التصنيف لأنني كنت أحصل على ERR_TOO_MANY_REDIRECTS.

يبدو أنني أصلحت المشكلة باستخدام وحدة تحكم Rails:

Category.find(id).update(slug: ‘slug-without-unicode’)

هذا ليس عائقًا حاسمًا، لكنه قد يتسبب في مشاكل، لذا أقترح إما تنفيذه بالكامل أو وضع حماية ضده.

3 إعجابات

تم بذل بعض الجهد في هذا المجال سابقًا، لكنني لا أعتقد أن المشكلة التي واجهتها قد تم معالجتها. ما أظن أنه حدث هو أنك قمت بضبط طريقة إنشاء السلاجل على ‘ascii’ وقمت بإدخال سلاجل تصنيف يحتوي على أحرف غير ascii مباشرة. يمكنني تكرار هذه المشكلة على موقعي مع ضبط طريقة إنشاء السلاجل على ‘ascii’ وإدخال النص التالي (yetersizliği) مباشرة في حقل سلاجل التصنيف:

بعد حفظ التصنيف:

ثم يفشل محاولة تحميل قائمة التصنيفات.

إذا لم أدخل أي شيء في حقل سلاجل التصنيف، فسيقوم Discourse بإنشاء السلاجل بشكل صحيح عند ضبط طريقة إنشاء السلاجل على ‘ascii’.

عند ضبط طريقة إنشاء السلاجل على ‘encoded’، يتعامل Discourse مع إنشاء السلاجل بشكل صحيح سواء تركت إدخال سلاجل التصنيف فارغًا أو قمت بإدخال السلاجل غير ascii مباشرة في الإدخال.

يبدو إذن أن المشكلة تكمن في أنه عند ضبط طريقة إنشاء السلاجل على ‘ascii’، لا يزال من الممكن إدخال سلاجل غير ascii في حقل سلاجل التصنيف. هذا يسبب مشكلة إعادة توجيه لا يمكن إصلاحها إلا من خلال وحدة تحكم Rails.

6 إعجابات

إذن ما نحتاجه هو التحقق من صحة النموذج عند الحفظ هنا، أليس كذلك؟

يمكنني الاضطلاع بذلك.

5 إعجابات

هذا بالضبط ما فعلته، كنت أقوم بتحرير فئة تم إنشاؤها مسبقًا — كل من اسمها واسمها المستعار. لم أكن أعرف عن إعداد طريقة توليد الاسم المستعار، وعلى الرغم من أنني اكتشفت لاحقًا أنه مضبوط على ASCII، إلا أن الاسم المستعار تم ترميزه على أي حال.

قد يكون هذا النوع من الإكراه منطقيًا، ولكن فقط إذا كان الاسم المستعار المشفر يمكن التعرف عليه لاحقًا، مع تجاهل الإعداد بطريقة مشابهة.

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

هذا يجب أن يصلح الأمر

10 إعجابات

تم تقسيم 3 منشورات إلى موضوع جديد: اسم مستخدم Unicode يؤدي إلى خطأ في تحميل صفحة الملف الشخصي

تم دمج طلب السحب أعلاه :tada:

إعجابَين (2)