إن علامة # المزدوجة تجعل التحقق من صحة إعداد الكائن يفشل في النواة (ليس هذا الاختبار المحدد بحد ذاته).
URI سيء (هل هو ليس URI؟): "https://matrix.to/#/#matrix-meta-chat:fedoraproject.org" (URI::InvalidURIError)
إنه ليس URI صالحًا تمامًا، لذا ستحتاج إلى ترميز الجزء.
هنا، استخدام https://matrix.to/#/%23matrix-meta-chat:fedoraproject.org سيعمل.
بالنظر إلى الكود:
https://github.com/discourse/discourse/blob/main/lib/theme_settings_object_validator.rb#L191-L193
is_valid_url معرف هنا:
يمكنك أن ترى أن لديهم بالفعل وظيفة أخرى للتعامل مع هذا الموقف ويتم استخدامها في أماكن أخرى:
أعتقد أنه من المعقول استخدام relaxed_parse للتحقق من صحة عنوان URL لكائن السمة.
على سبيل المثال: if validations&.dig(:url) && !UrlHelper.relaxed_parse?(value)