Ho eseguito quanto segue:
./launcher enter app
rails c
UserEmail.where(user_id: 7, primary: false).destroy_all
UserEmail.create!(user: User.find_by_username("user7"), email: "newemail@example.com")
exit
exit
./launcher restart app
Non so se questo sia stato il mio errore, ma questa volta ho eseguito solo la riga di eliminazione. Ho riavviato l’app e ricaricato il sito web. L’email secondaria è sparita! Quindi ho proceduto con il resto tramite l’interfaccia web, impostando l’email secondaria come primaria, dato che non è più bloccata.
Mi correggo: cambiare l’email tramite il web invia una conferma all’indirizzo email valido, ma mantiene l’indirizzo email non valido una volta tornati alla pagina delle preferenze dell’utente o alla pagina di amministrazione utente.
Ora non sono più sicuro di cosa fare ![]()
EDIT:
A rischio di spammiare questo thread, ho capito come risolvere.
Una volta dentro rails c
Ho rimosso tutte le email: semplicemente non sapevo come impostare un’email come Primaria, ed è per questo che ogni volta che riaggiungevo l’email valida, veniva aggiunta come email secondaria.
# Rimuovi tutte le email secondarie
UserEmail.where(user_id: 1234, primary: false).destroy_all
# Rimuovi l'email primaria
UserEmail.where(user_id: 1234, primary: true).destroy_all
# Imposta l'email primaria
UserEmail.create!(user_id: 1234, email: "validemail@example.com", primary: true)
È ovvio che questo ignora la validazione, ma l’avete già validata manualmente dall’account unito in precedenza, quindi spero che altri possano utilizzare questo esempio. L’unica cosa da fare ora è inviare l’email di reimpostazione della password una volta riavviata l’app.