المشكلة
يقوم موفر DiscourseConnect بإرجاع عنوان URL غير صحيح لـ user_avatar في الحمولة في بيئة متعددة المواقع.
عندما يعمل DiscourseConnect كموفر، فإنه يُرجع avatar_url بتنسيق يفتقد إلى ‘uploads’ واسم المضيف متعدد المواقع.
على سبيل المثال
المتوقع: https://cdn.cdnprovider.com/uploads/dbname/original/1X/1e653a3bc23b6b07017f5635128da0b353489e60.jpg'
الواقع: https://cdn.cdnprovider.com/original/1X/1e653a3bc23b6b07017f5635128da0b353489e60.jpg`
الكود موجود هنا ويعيد بناء عنوان URL من التحميل
if current_user.uploaded_avatar.present?
base_url =
Discourse.store.external? ? "#{Discourse.store.absolute_base_url}/" : Discourse.base_url
avatar_url =
"#{base_url}#{Discourse.store.get_path_for_upload(current_user.uploaded_avatar)}"
sso.avatar_url = UrlHelper.absolute Discourse.store.cdn_url(avatar_url)
end
بينما يبدو أن user.uploaded_avatar.url يعطي النتيجة الصحيحة.