Un’idea è inserire un ID esterno nel record dell’utente e poi utilizzare /by-external/:external_id. Un’altra opzione è utilizzare un webhook per notificare il tuo database esterno in caso di modifica del nome utente. Un’altra ancora è semplicemente disabilitare la modifica dei nomi utente. Da una rapida occhiata a discourse/config/routes.rb, non vedo alcuna rotta che utilizzi user_id.