Skip to content

Fix: 新規登録確認メールでユーザー名が空欄だと「様」だけ表示される不具合を修正 - #329

Merged
ippei-shimizu merged 1 commit into
stgfrom
fix/449-signup-mail-blank-name
Jul 29, 2026
Merged

Fix: 新規登録確認メールでユーザー名が空欄だと「様」だけ表示される不具合を修正#329
ippei-shimizu merged 1 commit into
stgfrom
fix/449-signup-mail-blank-name

Conversation

@ippei-shimizu

Copy link
Copy Markdown
Owner

Summary

  • 新規登録直後(ユーザー名設定画面より前)に届く確認メールで、nameが未設定のため本文冒頭が「様」だけになっていた不具合を修正
  • EmailAuthenticationMailer#send_when_signup@name をそのまま埋め込む代わりに @greeting を組み立て、user.name.presence が無い場合は「BUZZ BASEにご登録いただきありがとうございます」という汎用的な文言にフォールバックする
  • html.erb / text.erb 両方のテンプレートを修正

Fixes

Fixes ippei-shimizu/buzzbase#449

Test plan

  • spec/mailers/email_authentication_mailer_spec.rb を新規作成し、name有無それぞれのケースでtext_part/html_partの本文を検証
  • bundle exec rspec spec/mailers/email_authentication_mailer_spec.rb spec/requests/api/v1/auth/registrations_spec.rb 全て成功
  • bundle exec rubocop 変更ファイルすべて指摘なし

🤖 Generated with Claude Code

サインアップ直後(ユーザー名設定画面より前)は name が未設定のことがあり、
確認メールの「<%= @name %> 様」がそのまま「様」だけになっていた。
@name をそのまま埋め込む代わりに @Greeting を組み立て、name が空なら
汎用的な文言にフォールバックする。
@ippei-shimizu ippei-shimizu self-assigned this Jul 29, 2026
@ippei-shimizu

Copy link
Copy Markdown
Owner Author

@claude
コードレビューをお願いします。メール送信でエラーにならないか。デグレはないかなど。

@claude

claude Bot commented Jul 29, 2026

Copy link
Copy Markdown

Claude finished @ippei-shimizu's task in 1m 35s —— View job


コードレビュー結果

  • コンテキスト収集(diff / 変更ファイル確認)
  • メーラー・テンプレートのロジック確認(エラー要因の有無)
  • 既存呼び出し箇所・テストへのデグレ影響確認
  • レビューコメント投稿

結論

ロジック・テンプレート修正ともに問題なし。メール送信でエラーになる要因は見当たらず、デグレも確認できませんでした。LGTMです。

確認したポイント

  1. エラー要因

    • app/mailers/email_authentication_mailer.rb:11user.name.presence ? ... : ...user が nil になるケースがなく(唯一の呼び出し元 app/controllers/api/v1/auth/registrations_controller.rb:16@resource=生成済みユーザーを渡している)、NoMethodError 等は発生しません。
    • User モデルに namepresence: true バリデーションが無いことも確認済みで、「登録直後は name が空」という前提は正しいです。
    • html.erb 側の <%= @greeting %> は Rails のデフォルトエスケープが効くプレーン文字列(html_safe 化していない)なので、ユーザー名にHTML特殊文字が含まれていてもXSS等の問題は発生しません。
  2. デグレ確認

    • @name を参照している箇所は他になく(grep で send_when_signup.html.erb / .text.erb の2ファイルのみ)、置き換え漏れはありません。
    • spec/requests/api/v1/auth/registrations_spec.rbEmailAuthenticationMailer.send_when_signupinstance_double でスタブしており、本文の中身(@greeting)には依存していないため影響なし。
    • 既存のメール本文フォーマット( の後に一行空けて本文が続く構成)は維持されています。
  3. テスト

    • 新規 spec/mailers/email_authentication_mailer_spec.rb は name あり/なしの両方で text_part / html_part を検証しており、リグレッション防止として十分なカバレッジです。
    • 環境の制約上、CIコンテナでの rspec / rubocop 実行はこちらでは行えませんでした(docker compose exec がサンドボックスで承認待ちとなり実行不可)。PR記載の実行結果(全成功・指摘なし)を信頼しています。

軽微な指摘(Nit・任意)

  • app/mailers/email_authentication_mailer.rb:11: user.name.presence ? "#{user.name} 様" : ...user.name を2回呼んでいます。動作に問題はありませんが、name = user.name.presence のように一度変数に受けると意図が読み取りやすくなります。必須の修正ではありません。

Fix this →

@ippei-shimizu
ippei-shimizu merged commit cd0e8b1 into stg Jul 29, 2026
2 checks passed
@ippei-shimizu
ippei-shimizu deleted the fix/449-signup-mail-blank-name branch July 29, 2026 14:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Bug: 新規登録確認メールでユーザー名が空欄だと「様」だけ表示される

1 participant