Rails 6.xと7.xでundefined method address_listを修正する方法

問題

先日、このようなエラーに遭遇しました:

# mail.address_list
NoMethodError: undefined method `address_list'

エラーはこの行から来ていました:https://github.com/rails/rails/blob/6-1-stable/actionmailbox/lib/action_mailbox/mail_ext/addresses.rb#L5-L7

私がよくやるように、定期的にアプリのgem依存関係をレビューし、最新の状態に保つために更新しています。

この状況では、mail gemをバージョン2.8.xに更新しました。これが問題の根本原因だったようです。

判明したことに、mail gemがリリースされた時、Railsを壊していました:https://github.com/rails/rails/pull/46643address_listは新しくリリースされたmail gemの一部ではなくなっていました。

解決策

他の人も同じ問題を抱えていたようで、解決策がRails 6-1と7-0 stableにバックポートされました:

この執筆時点では、これらのバージョンはまだリリースされていません。そのため、一時的な修正としてmailを2.8.0から2.7.xにダウングレードすることが考えられます。

あるいは、6-1または7-0 stableを使用し、Gemfileでそれらのバージョンを参照することもできます。この修正はRails 6.1.8と7.0.5がリリースされた時に利用可能になると予想されます。