Bonjour,
J’ai un problème avec le admin_detailed_user_serializer qui provoque des erreurs 500 lorsqu’un administrateur essaie de voir un utilisateur depuis la recherche d’utilisateurs. L’erreur 500 se produit également lors de l’appel de l’API GET à l’adresse https://mycommunity/admin/users/2000020409.json. Vous trouverez ci-dessous l’exception des journaux. Environ 50 % des utilisateurs rencontrent cette erreur. J’ai essayé de comparer les utilisateurs qui fonctionnent avec ceux qui ne fonctionnent pas dans la base de données, mais je n’arrive pas à trouver la cause du problème. Je suspecte que quelque chose que j’ai fait lors d’une migration d’utilisateurs d’un autre système a causé ce problème.
Voici les étapes de ma migration de données :
- Insertion manuelle de données dans les tables
users,user_profiles,user_emailsetuser_stats. - Initialement, tous les utilisateurs avaient un e-mail « someid@example.com ».
- J’ai ensuite mis à jour la table
user_emailpour que l’utilisateur ait le bon e-mail. - Après cela, j’ai remarqué que 50 % de ces utilisateurs ne pouvaient pas être consultés dans la liste des administrateurs. Cependant, si vous cliquez avec le bouton droit sur leur nom dans la liste des profils pour faire apparaître la carte de profil, vous pouvez y accéder et accéder au profil sans problème. Vous pouvez apporter des modifications au profil, mais si vous essayez de faire d’une personne un administrateur, vous obtiendrez la même erreur 500 que celle que j’ai listée ci-dessous.
Quelqu’un sait-il ce que ce code vérifie ? Je suppose que certains utilisateurs doivent manquer une donnée critique qui cause cette exception 500. Avez-vous des hypothèses ? Je suis nouveau sur Discourse et tout conseil serait grandement apprécié.
Merci !
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