Não é possível remover e-mail secundário idêntico ao e-mail principal pela UI

Olá, de alguma forma, sem saber por que, estou atualmente na seguinte situação:

Como administrador, tenho três endereços de e-mail listados:

Principal: o correto
Secundário: o mesmo, mas não confirmado
Terceiro: um endereço secundário realmente diferente e confirmado.

Ao acessar o console do Rails, consigo localizar o ID do usuário, mas não sei como listar os vários endereços de e-mail alternativos e remover um deles. A interface do usuário não funciona, provavelmente porque os endereços de e-mail são idênticos.

Como posso corrigir isso?

Você já tentou desabilitar os endereços de e-mail pelo console do Rails? Não me lembro do comando no momento, porém.

Oi, sim, é exatamente isso que estou tentando fazer. No console, consigo pesquisar o usuário. Mas não sei como consultar vários endereços de e-mail e remover os redundantes.

Quando seleciono o usuário, não vejo os e-mails; eles devem estar em algum outro registro.

Koen

Os endereços de e-mail estão na tabela user_emails. Você pode encontrá-los usando o ID do usuário:

UserEmail.where(user_id: <user_id>)

Substitua <user_id> no comando acima pelo ID do usuário.

Encontre o valor id do registro UserEmail que deseja remover. Com esse ID, execute o seguinte para retornar o registro individual que deseja excluir:

identical_email = UserEmail.find(<identical_email_id>)

Verifique novamente o resultado retornado para confirmar que é o e-mail que deseja remover. Em seguida, execute:

identical_email.destroy

Antes de executar qualquer comando destrutivo no console, é uma boa ideia criar um backup do banco de dados do seu site. Se algo der errado, você poderá restaurar o backup.

1 curtida

Muito obrigado! Como acabou, consegui buscar apenas um ID de e-mail para os duplicados. Minha suposição é que o não confirmado, que não consegui remover, ainda não havia sido listado com aquele ID? Provavelmente está um pouco em aberto com um processo de validação incompleto?

O que fiz para resolver foi alternar o principal para o segundo endereço de e-mail alternativo. O duplicado não confirmado ainda não pôde ser excluído, mas quando excluí o confirmado (agora e-mail principal anterior), o duplicado não confirmado também foi removido.

Em seguida, adicionei o endereço de e-mail original como secundário e depois alterei para que fosse o principal.

Tudo resolvido e aprendi muito no processo :wink:

1 curtida

This topic was automatically closed 0 minutes after the last reply. New replies are no longer allowed.