Hallo,
Ich habe ein Problem mit dem admin_detailed_user_serializer, das 500-Fehler verursacht, wenn ein Administrator versucht, einen Benutzer über die Benutzersuche anzuzeigen. Der 500-Fehler tritt auch auf, wenn GET-API-Aufrufe an https://mycommunity/admin/users/2000020409.json gemacht werden. Unten finden Sie die Ausnahme aus den Protokollen. Etwa 50 % der Benutzer haben diesen Fehler. Ich habe versucht, funktionierende und nicht funktionierende Benutzer in der Datenbank zu vergleichen, aber ich kann das Problem nicht herausfinden. Ich vermute, dass etwas, das ich während einer Benutzerwanderung von einem anderen System getan habe, dieses Problem verursacht hat.
Unten sind meine Datensicherungsschritte aufgeführt:
- Manuell Daten in die Tabellen
users,user_profiles,user_emailsunduser_statseingefügt. - Anfangs hatten alle Benutzer eine E-Mail-Adresse ‘someid@example.com’.
- Ich habe dann die Tabelle
user_emailfür den Benutzer aktualisiert, um die richtige E-Mail-Adresse zu haben. - Nach diesem Punkt habe ich festgestellt, dass 50 % dieser Benutzer nicht aus der Admin-Benutzerliste angezeigt werden können. Wenn Sie jedoch mit der rechten Maustaste auf ihren Namen in der Profiliste klicken, um die Profilkarte aufzurufen, können Sie hineinklicken und das Profil problemlos aufrufen. Sie können Aktualisierungen im Profil vornehmen, aber wenn Sie versuchen, jemanden zum Administrator zu machen, erhalten Sie denselben 500-Fehler, den ich unten aufgeführt habe.
Weiß jemand, was dieser Code überprüft? Ich vermute, dass einigen Benutzern ein entscheidendes Datenelement fehlt, das diese 500-Ausnahme verursacht. Hat jemand Vermutungen? Ich bin neu bei Discourse und jeder Rat wäre sehr willkommen.
Vielen Dank!
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