无法通过用户界面删除与主电子邮件地址相同的辅助电子邮件地址

你好,不知为何,我目前陷入了以下情况:

作为管理员,我有三个列出的电子邮件地址:

主地址:正确的那个
备用地址:同一个但未经确认的地址
第三个地址:另一个真正不同的备用地址,且已确认。

进入 Rails 控制台后,我可以查找用户 ID,但不知道如何列出多个备用电子邮件地址并删除其中一个。通过 UI 操作似乎无效,可能是因为电子邮件地址相同。

我该如何修正这个问题?

你试过从 Rails 控制台禁用邮箱地址吗?我暂时想不起具体的命令了。

你好,是的,这正是我试图做的事情。在控制台中我可以查找用户,但我不清楚如何查询多个电子邮件地址并移除重复项。

当我选择用户时,我没有看到电子邮件,它们一定存储在某个其他记录中。

Koen

电子邮件地址存储在 user_emails 表中。你可以通过用户 ID 来查找它们:

UserEmail.where(user_id: <user_id>)

将上述命令中的 <user_id> 替换为实际的用户 ID。

找到你想要删除的 UserEmail 记录的 id 值。使用该 ID,运行以下命令以返回你想要删除的单个记录:

identical_email = UserEmail.find(<identical_email_id>)

仔细检查返回的结果,确认这是你想要删除的邮箱。然后运行:

identical_email.destroy

在从控制台运行任何破坏性命令之前,最好先备份你的站点数据库。如果出现意外,你可以恢复备份。

1 个赞

非常感谢!事实证明,对于重复的邮箱,我只能获取到一个邮箱 ID。我猜测,那个无法删除的未确认邮箱可能尚未与该 ID 关联?或许是因为验证流程尚未完成,状态还不太明确?

我采取的解决方法是:先将主邮箱切换为两个备用邮箱之一。虽然那个未确认的重复邮箱仍然无法直接删除,但当我删除已确认的邮箱(即原来的主邮箱)后,那个未确认的重复邮箱也随之被删除了。

随后,我将原始邮箱地址添加为次要邮箱,再将其切换为主邮箱。

一切已解决,在此过程中也学到了很多 :wink:

1 个赞

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