【Rails】generate コマンドで生成されるファイルをconfig.generatorsで設定する

Ruby on Railsで開発する際に、rails genarateコマンドはとても便利ですが、不要なファイルまで生成される場合がありますので、config/application.rbのconfig.generatorsで生成されるファイルを設定しておきましょう!、という記事です。

環境はこちらです

デフォルトでgenerateコマンドを実行すると、、、

まずは 何も設定しない場合に rails generate controllerをした場合の結果です。コントローラ名はeventsで、アクションにshowとしてみます。

すると、丁寧にコントローラやアクションに加えて、ルートや、ビューファイルなどを生成してくれてありがたいのですが、HelperやJSやCSSファイルはいらないかな、、あとで削除しちゃうだろうなって思ってしまいます。

generateコマンドで生成されるファイル一覧

ちなみに、デフォルトでgenerateコマンド実行時に生成されるファイルの一覧は以下の通りです。

コマンド コントローラ ビュー モデル マイグレーション アセット ルート テスト ヘルパー
scaffold
scaffold_controller
controller
model
migration

config.generatorsの設定

そこで、config.generatorsで生成されるファイルを設定します。

config/application.rb

ちなみにtest_frameworkはrspec, fixtureはfactory_botで設定しています。
testファイル自体不要であれば、g.test_framework falseでOKです。

Gemfile

設定後のgenerateコマンド実行

設定後に再度、おなじgenerate controllerコマンドを実行してみると、、

これで、設定通りのファイルのみ生成されました!
以上です!ありがとうございました!


投稿者:

Shuji Tenra

「仕事に特化したQ&AサイトJobQuery【ジョブクエリ】」の開発/運営をしています。https://jobquery.jp