Tengo un problema extraño con el nombre de usuario. Mi panel utiliza RTL y un idioma único para las palabras clave en árabe.
El nombre de usuario está configurado en palabras en inglés, pero cuando reviso los registros, me muestra que la plantilla del perfil de usuario no se puede encontrar… porque está en palabras clave en árabe.
Cuando reviso el nombre de usuario para cambiarlo, está configurado en inglés, pero en el error me muestra la palabra clave en árabe.
¿Alguna sugerencia sobre cómo aplicar caracteres únicos en Discourse? Para que podamos usar nombres de usuario en árabe o con codificación UTF-8 única.
¿Por qué crees eso? No creo que el método create_user_profile esté diseñado para ejecutarse manualmente, lo ejecuta Discourse después de que se crea un usuario discourse/app/models/user.rb at main · discourse/discourse · GitHub
Por eso obtienes el error duplicate key value, porque estás intentando crear perfiles de usuario que ya existen.
Intenté replicar este error creando una cuenta de usuario con el nombre de usuario دعم_المجتمع y también lo probé con una cuenta con un nombre de usuario en inglés, ambos tenían el idioma de la interfaz configurado en árabe, y funciona bien.
No creo que este problema esté relacionado con el idioma o las plantillas, sino con las insignias que faltan imágenes, como señalaste aquí Badge image missing issue
Tienes razón; de todos modos, esta es una copia de seguridad y la restauro y funciona bien… el problema es solo con las imágenes de las insignias; y trato de ejecutar los comandos
rake uploads:clean_up
rake posts:rebake
pero sigue siendo el mismo problema…
[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)>