🍣

Rails 7.2.1にアップグレードした

2024/09/05に公開

所属先の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