Rails 5.2.0が正式にリリースされましたね。めでたい。
- Rails 5.2.0 FINAL: Active Storage, Redis Cache Store, HTTP/2 Early Hints, CSP, Credentials | Riding Rails
- 【速報】Rails 5.2.0正式リリース!Active Storage、Redis Cache Store、HTTP/2 Early Hintほか
いつものことですが、2018-04-11現在、Rails 5.2.0だと正常に動作しないgemがあります。とりあえず見つけたものをメモしておきます。
simple_form
Gemfileでsimple_formのバージョンを指定していない場合、railsのバージョンを5.2.0に上げてbundle update
したらsimple_formのバージョンが3.5.1から1.4.1まで下がるという現象が起きていました。上記はそのために引き起こされるエラーです。
単にgemspecの要求バージョンが厳しかったみたいで、このブログを書いている間に 4.0.0 がリリースされて解決しました。
https://github.com/plataformatec/simple_form/blob/master/CHANGELOG.md#400
3.5系でバージョンをロックしている人は4.0.0を試してみましょう。
# Gemfile
# gem "simple_form", "~> 3.5.1"
gem "simple_form", "~> 4.0.0"
annotate
Annotate no longer works with Rails 5.2 models Issue #538 · ctran/annotate_models
./bin/rails annotate_models
または ./bin/rails db:migrate
など、モデルのアノテーションを更新する際に下記のようなエラーが起きる場合があります。
Unable to annotate app/models/author.rb: can't modify frozen String
Unable to annotate app/models/author.rb: no implicit conversion of nil into Array
暫定的な措置として、設定でインデックスに関する情報の記入を無効化すればエラーを回避できます。
diff --git a/lib/tasks/auto_annotate_models.rake b/lib/tasks/auto_annotate_models.rake
index 9088128..9c2f5d5 100644
--- a/lib/tasks/auto_annotate_models.rake
+++ b/lib/tasks/auto_annotate_models.rake
@@ -16,7 +16,7 @@ if Rails.env.development?
'position_in_serializer' => 'before',
'show_foreign_keys' => 'true',
'show_complete_foreign_keys' => 'false',
- 'show_indexes' => 'true',
+ 'show_indexes' => 'false',
'simple_indexes' => 'false',
'model_dir' => 'app/models',
'root_dir' => '',
他にも何か見つけたら更新していきます。