Additional email address per user account support

我执行了以下操作:

./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

我不确定这是否是导致问题的原因,但这次我只运行了删除那一行。重启应用并刷新网站后,次要邮箱确实消失了!于是我在网页界面上完成了其余操作,将主邮箱改为次要邮箱,因为它不再被阻止。

等等,我收回刚才的说法。通过网页更改邮箱会向有效的邮箱地址发送确认邮件,但一旦返回用户偏好设置页面或用户管理页面,无效的邮箱地址仍然保留。
现在我不确定该怎么办了 :frowning:

编辑:

冒着刷屏这个帖子的风险,我想我已经找到解决办法了。

进入 rails c 后:
我删除了所有邮箱——我只是不知道如何将邮箱设置为主邮箱,这就是为什么每次重新添加有效邮箱时,它都会被添加为次要邮箱。

# 删除所有次要邮箱
UserEmail.where(user_id: 1234, primary: false).destroy_all
# 删除主邮箱
UserEmail.where(user_id: 1234, primary: true).destroy_all

# 设置主邮箱
UserEmail.create!(user_id: 1234, email: "validemail@example.com", primary: true)

不言而喻,这会跳过验证,但既然您之前已经通过合并账户手动验证过,希望其他人也能参考这个示例。重启应用后,唯一剩下的步骤就是发送密码重置邮件。

5 个赞