4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

rails generate annotate:install でエラーが出た

Posted at

はじめに

Rails の gem annotate は,モデルなどのファイルに,対応するテーブルの構造をコメントの形式で書き込んでくれるもの。config/routes.rb にもルーティングの情報を書いてくれる。

annotate の紹介はもう何年も前からいくつも記事があるので,省略。

今回,初めて使ってみたところ,エラーが出たので報告する。調べた限りでは,Qiita の過去記事に見当たらなかった。

エラーが出るまで

最新版の README では,Gemfile に

gem 'annotate', require: false

と書くことになっている。
つまり,require はしない,と。

次に,bundle install する。

次に,アノテーションの設定ファイルを生成させたいので,

rails generate annotate:install

とした。ところが,以下のようなエラーが出た。

[パス途中省略]/annotate-2.7.2/lib/generators/annotate/templates/auto_annotate_models.rake:37:in `template': uninitialized constant AnnotateModels (NameError)

原因と対策

AnnotateModels はこのライブラリーの中核的なモジュールぽい。

こいつが uninitialized constant ってことはつまり,だ。

ライブラリーが require されていないんである。(そりゃそうだ)

そこで,Gemfile の記述を

gem 'annotate'

に変えたら解決した。

要するに,annotate コマンドを使うだけなら require しなくてよいが,generate annotate:install させるんなら require が必要,ということらしい。

おまけ

gem 'annotate'

group :development do

end

の中に入れておけばよいようだ。

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?