はじめに
Qiitaに初めて投稿します。
Railsを勉強中で気になる点があり、ネットで探してもあまり情報が見つからなかったので投稿させていただきます。
発生したdevelopment環境でのエラー画面
development環境で出るエラー画面は以下のようなものしか見たことなかったのですが、
今回は以下のようなエラー画面が発生しました。
これってHerokuとかの本番環境で出る画面なのでは?
ログを見てみると、
Completed 401 Unauthorized in 45ms (ActiveRecord: 16.0ms)
と出力されていました。
他の部分も見てみると、直前までに行われていた更新処理は完了しており、その後のメール送信に問題がありそうでした。
何をしているか
- 更新処理後にActionMailerでメールを複数人に送信している。
やったこと
Action Mailerの基本 | Rails日本語ドキュメント | Ruby STUDIO
2.3.3 メールの複数の宛先への送信
:to
キーにメールのリストを設定することで、1つのメールを複数人に配信することが可能です。 (例: 新しく登録されたユーザーの情報を全管理者に伝えるなど) メールのリストは、メールアドレスの配列またはカンマ区切りの文字列を指定することが出来ます。
こちらを元にmailメソッド内の:to
キーに複数のユーザーのメールアドレスをカンマで区切って設定しました。
❌ダメだったやつ
mail to: @user1.email, @user2.email
上記の注意書きをちゃんと読まず、mailの第二引数にメールアドレスを設定したためか、エラー(We're sorry, but something went wrong.)が発生しました。
⭕️よかったやつ
mail to: [@user1.email, @user2.email]
mail to: @User20130401 + "," + @user2.email
とりあえず上記のように書き換えて複数ユーザーにメールを送信することができるようになりました。
所感
原因自体は明確になっていないので、わかる人がいれば教えていただきたいです。
しかし、「We're sorry, but something went wrong.」は原因も掴みにくいので、なるべく赤いバーのエラー画面に出会いたいなと思った次第でした😅