J’ai un problème étrange avec le nom d’utilisateur, mon tableau de bord utilise le RTL et une langue unique pour les mots-clés arabes…
Le nom d’utilisateur est défini sur des mots anglais, mais lorsque je vérifie les journaux, il m’indique que le modèle de profil utilisateur est introuvable… Parce qu’il est en mots-clés arabes…
Lorsque je vérifie le nom d’utilisateur pour le modifier, il est défini sur l’anglais, mais dans l’erreur, il m’indique le mot-clé arabe…
Je pense que nous devons résoudre ce problème depuis l’intérieur du conteneur car dans le panneau d’administration, j’ai tout essayé mais cela ne fonctionne pas.
Des suggestions sur la façon d’appliquer des caractères uniques sur Discourse ? afin que nous puissions utiliser des noms d’utilisateur en langue arabe, ou avec un encodage UTF-8 unique ?
Il semble que le problème se situe dans la section des badges de mon forum ; mais j’essaie d’exécuter cette commande dans un conteneur mais je ne sais pas comment ;
Discourse.system_user.create_user_profile
Cette commande résoudrait le problème des badges ; mais j’apprécierais si quelqu’un pouvait expliquer comment exécuter cette commande ? Ou où ?
[1] pry(main)> Discourse.system_user.create_user_profile
ActiveRecord::RecordNotUnique: PG::UniqueViolation: ERROR: duplicate key value violates unique constraint "user_profiles_pkey"
DETAIL: Key (user_id)=(-1) already exists.
from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rack-mini-profiler-2.3.3/lib/patches/db/pg.rb:69:in `exec_params'
Caused by PG::UniqueViolation: ERROR: duplicate key value violates unique constraint "user_profiles_pkey"
DETAIL: Key (user_id)=(-1) already exists.
from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rack-mini-profiler-2.3.3/lib/patches/db/pg.rb:69:in `exec_params'
Pourquoi pensez-vous cela ? Je ne pense pas que la méthode create_user_profile soit destinée à être exécutée manuellement, elle est exécutée par Discourse après la création d’un utilisateur discourse/app/models/user.rb at main · discourse/discourse · GitHub
C’est pourquoi vous obtenez l’erreur duplicate key value, car vous essayez de créer des profils d’utilisateur qui existent déjà.
J’ai essayé de reproduire cette erreur en créant un compte utilisateur avec le nom d’utilisateur دعم_المجتمع et je l’ai également testé avec un compte avec un nom d’utilisateur anglais, les deux avaient la langue de l’interface définie sur arabe, et cela fonctionne bien.
Je ne pense pas que ce problème soit lié à la langue ou aux modèles anymore, mais aux badges qui manquent d’images, comme vous l’avez souligné ici Badge image missing issue
Vous avez raison ; de toute façon, c’est une sauvegarde et je l’ai restaurée et elle fonctionne bien… le problème ne concerne que les images de badges ; et j’essaie d’exécuter les commandes
rake uploads:clean_up
rake posts:rebake
mais le problème persiste…
[2] pry(main)> Discourse.system_user.create_user_profile
ActiveRecord::RecordNotUnique: PG::UniqueViolation: ERROR: duplicate key value violates unique constraint "user_profiles_pkey"
DETAIL: Key (user_id)=(-1) already exists.
from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rack-mini-profiler-2.3.3/lib/patches/db/pg.rb:69:in `exec_params'
Caused by PG::UniqueViolation: ERROR: duplicate key value violates unique constraint "user_profiles_pkey"
DETAIL: Key (user_id)=(-1) already exists.
from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rack-mini-profiler-2.3.3/lib/patches/db/pg.rb:69:in `exec_params'
[3] pry(main)>