Rails 7.2.1にアップグレードした
所属先のRailsプロダクトを7.2.1にアップグレードした。7.1系からのアップグレードなので、そんなに困らなかった。
enumの定義方法が変わる
DEPRECATION WARNING: Defining enums with keyword arguments is deprecated and will be removed in Rails 8.0. Positional arguments should be used instead
「Enum を keyword arguments で定義するのではなく、Positional arguments を使ってください。」
つまり、今までこのように書いていたenumを、
enum role: { student: 0, teacher: 1 }
このように変更してねってこと。
enum :role, { student: 0, teacher: 1 }
今回は手動で対処した。しかし、その最中にrubocop-railsで対応されたため、先にrubocop-railsをアップデートしてrubocop先生に自動修正してもらうのが良さそう。
Passing nil to the :model argument is deprecated and will raise in Rails 8.0
発端はこちらで詳しく解説されている。
週刊Railsウォッチ: form_withのmodelオプションへのnil渡しが非推奨化、Dockerfileでjemallocが有効にほか(20240221前編)|TechRacho by BPS株式会社
mutex_mを追加する
標準出力通りにやればOK。
~/lib/ruby/3.3.0/mutex_m.rb was loaded from the standard library, but will no longer be part of the default gems since Ruby 3.4.0. Add mutex_m to your Gemfile or gemspec. Also contact author of httpclient-2.8.3 to add mutex_m into its gemspec.
Discussion