rails generateコマンド実行時の自動ファイル作成の制御

rails generateコマンド実行時の自動ファイル作成の制御

「アプリケーションが立ち上がるまでの流れ」
・サーバーを立ち上げる為の[rails s]コマンドや[rails c]コマンドを実行してから実際にアプリケーションが立ち上がるまでの間に初期化という作業を実行している。


・初期化時には、下記の3種類のファイルが呼び出されており、それぞれ異なる初期化作業を行っている。

config/initializers以下の各ファイル: 特定のツールや機能に対する設定ファイルを、ファイル別に記述する。(assets.rb / aws.rbなど)
config/environments以下の各ファイル: 環境別に行いたい初期化作業を記述する(production.rb / staging.rb など)]
config/applicaiton.rb: [アプリケーション全体に関する設定を行う]


・アプリケーションの立ち上げ

「ジェネレーターによる自動生成ファイルの制御」

railsには、[rails generate]というコマンドが用意されていて、rails generateで作成されるものに付随したファイルが自動生成される。この機能をジェネレーターという。

ジェネレーターによって自動生成されるファイルは、「applicaiton.rb」に記述することで制限できる。

module RunteqNormal
  class Application < Rails::Application
     config.generators do |g|
        g.assets false
        g.helper false
        g.test_framework false
        g.skip_routes = true
     end
  end
end

上記は、assets、helper、testファイル、ルーティングが生成されないようにした例。

※注意
ブロックの中に記載する、helperなどはディレクトリ名とは無関係!!
generateコマンドで自動生成されるファイルを制御する書き方は、上記の例ように決まっている

※ポイント
※[rails generate]で利用できるジェネレーターの一覧が確認できる。

また、[rails generate ○○ -h]でgenerateのオプションを確認できる。