はじめに
Rials8を使って開発を進めている中で、annotateに起因していそうなエラーが出たので調査しました。
やりたいこと
- annotateを使ってモデルにスキーマ情報を記述したい
やったこと
- annotateをGemfileに追加し、
bundle install
-
bundle exec annotate
を実行
エラー内容
Unable to annotate profile.rb: uninitialized constant #<Class:AnnotateModels>::Fixnum
Unable to annotate user.rb: uninitialized constant #<Class:AnnotateModels>::Fixnum
原因
直接原因
- annotateのバージョンが古いものがインストールされてしまっている
- そのためIntegerに統合され、使用しなくなったFixnumを使用しており、上記のエラーが出ている
根本原因
- gem annotateがRails8に対応していない
解決策
- gem annotate ではなく、gem annotaterbを使用する
- 参考