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

私が間違えたのかはわかりませんが、今回は削除コマンドのみを実行しました。アプリを再起動し、Web サイトをリフレッシュすると、サブメールアドレスが削除されました!そこで、Web UI で残りの操作を行い、ブロックが解除されたため、プライマリをサブに変更しました。

訂正します。Web 経由でメールアドレスを変更すると、有効なメールアドレスに確認メールが送信されますが、ユーザー設定ページやユーザー管理ページに戻ると、無効なメールアドレスが保持されてしまいます。
これでどうすればよいか分からなくなりました :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