こんにちは!kossyです!
さて、今回はrailsのgeneratorの設定手順をブログに残したいと思います。
環境
Rails 5.1.6
Ruby 2.5.1
MacOS Mojave
config/application.rbをちょろっと弄るだけ
以下のコードでは、
・テンプレートはhamlで
・テストフレームワークはRspecに準拠したファイルを生成、fixtureはいらん
・scssファイルはいらん
・coffee.scriptもいらんよ
config.generators do |g| g.template_engine :haml g.test_framework :rspec, fixture: false g.stylesheets false g.javascripts false end
っていう設定になります。
Rails5以降は少し違う書き方らしい
railsのgeneratorの設定を変更したいときに、Rails 4まではapplication.rbに書くことで変更していた。しかし、Rails 5では違う。 application.rb には以下のように書いてある。application.rb # Settings in config/environments/* take precedence over those specified here. # Application configuration should go into files in config/initializers # -- all .rb files in that directory are automatically loaded.雑に意訳すると、「ここで書いた設定よりも環境ファイルで書かれたことを優先するよ。アプリケーション全体の設定なら、 config/initializers にファイル作るべき。そのディレクトリにおいておけば自動的に読み込んでくれるよ。」とのこと。
らしいので、
config/initializers/generators.rb Rails.application.config.generators do |g| ここに設定を追記する end
こっちのファイルに記述する方が推奨されてるみたいです。
参考にさせていただいた記事
【小ネタ】Rails 5におけるconfig.generatorsの書き方 - Qiita
rails newしたらconfig.generatorsをまず設定しよう - Qiita
Rails ジェネレータとテンプレート入門 | Rails ガイド