أهلاً،
أواجه مشكلة في admin_detailed_user_serializer تسبب أخطاء 500 عندما يحاول مسؤول عرض مستخدم من خلال البحث عن المستخدمين. خطأ 500 يحدث أيضًا عند إجراء استدعاءات API من نوع GET إلى https://mycommunity/admin/users/2000020409.json. أدناه الاستثناء من السجلات. حوالي 50٪ من المستخدمين لديهم هذا الخطأ. حاولت مقارنة المستخدمين العاملين مقابل غير العاملين في قاعدة البيانات ولكن لا يمكنني معرفة ما هي المشكلة. أشك في أن شيئًا قمت به أثناء ترحيل مستخدم من نظام آخر تسبب في هذه المشكلة.
أدناه كانت خطوات ترحيل البيانات الخاصة بي:
- تم إدراج البيانات يدويًا في جداول
usersوuser_profilesوuser_emailsوuser_stats. - في البداية كان لدى جميع المستخدمين بريد إلكتروني باسم ‘someid@example.com’.
- ثم قمت بتحديث جدول
user_emailللمستخدم ليكون لديه البريد الإلكتروني الصحيح. - بعد هذه النقطة، لاحظت أن 50٪ من هؤلاء المستخدمين لا يمكن عرضهم من قائمة المستخدمين الإداريين. ومع ذلك، إذا قمت بالنقر بزر الماوس الأيمن على أسمائهم في قائمة الملف الشخصي، لإظهار بطاقة الملف الشخصي، يمكنك النقر عليها والوصول إلى الملف الشخصي بشكل جيد. يمكنك إجراء تحديثات على الملف الشخصي ولكن إذا حاولت جعل شخص ما مسؤولاً، فستحصل على نفس خطأ 500 الذي أدرجته أدناه.
هل يعرف أحد ما الذي يتحقق منه هذا الكود؟ أخمن أن بعض المستخدمين يجب أن يكونوا قد فقدوا جزءًا حاسمًا من البيانات يتسبب في هذا الاستثناء 500. هل لدى أي شخص أي تخمينات؟ أنا جديد على Discourse وأي نصيحة ستكون موضع تقدير كبير.
شكرا لك!
app/serializers/admin_user_list_serializer.rb:95:in `time_read'
(eval):27:in `_fast_attributes'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:468:in `rescue in attributes'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:455:in `attributes'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:480:in `_serializable_hash'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:359:in `serializable_hash'
active_model_serializers (0.8.4) lib/active_model/array_serializer.rb:89:in `block in _serializable_array'
activerecord (7.0.4.3) lib/active_record/relation/delegation.rb:88:in `each'
activerecord (7.0.4.3) lib/active_record/relation/delegation.rb:88:in `each'
active_model_serializers (0.8.4) lib/active_model/array_serializer.rb:79:in `map'
active_model_serializers (0.8.4) lib/active_model/array_serializer.rb:79:in `_serializable_array'
active_model_serializers (0.8.4) lib/active_model/array_serializer.rb:73:in `serializable_array'
active_model_serializers (0.8.4) lib/active_model/array_serializer.rb:53:in `as_json'
app/serializers/admin_detailed_user_serializer.rb:166:in `similar_users'
(eval):72:in `_fast_attributes'
active_model_serializers (0.8.4