はじめに
Railsではサーバを立ち上げる際、初期化と言う作業を行っており、
- config/initiializers以下のファイル (assets.rbやaws.rbなどの特定のファイルに対する設定を記載する)
- config/environments以下のファイルのうち、実行環境に合致しているもの (初期化する際の設定を環境別に記載する)
- config/application.rb (アプリケーション全体に適応させたい設定を記載する)
の3種類が呼び出されています。
今回はアプリケーション全体に生成ファイルの設定をしていきます。
rails g
コマンドを使用したら、assets、helper、testファイル、ルーティングなどルが生成されます。後で1つずつファイルを削除を削除するのは面倒です。
あらかじめ不要なファイルが生成されないやり方を見ていきましょう。
generate コマンドとは?
rails generateコマンドでは、テンプレートを用いてさまざまなものを作成します。rails generateを実行すると、利用可能なジェネレータの一覧が表示されます。
Railsガイド
コントローラジェネレータにはgenerate controller ControllerName action1 action2という形式でパラメータを渡します。
作業の流れ
- 設定せずにgenerateコマンド
- 生成されたファイルを削除する
- generateコマンドの設定を変える
- generateコマンドを試す
設定せずにgenerateコマンド
helloアクションを実行すると、ちょっとしたメッセージを表示するGreetingsコントローラを作ってみましょう。
$ rails generate controller Greetings hello
create app/controllers/greetings_controller.rb
route get 'greetings/hello'
invoke erb
create app/views/greetings
create app/views/greetings/hello.html.erb
invoke test_unit
create test/controllers/greetings_controller_test.rb
invoke helper
create app/helpers/greetings_helper.rb
invoke test_unit
invoke assets
invoke scss
create app/assets/stylesheets/greetings.scss
Railsガイドより引用
assets、helper、testファイル、ルーティングなどルが生成されていますね。
生成されたファイルを削除する
generateコマンドでは、複数のファイルが生成されることが分かりました。
もしそれらを消したいとなると、いちいち消すのは手間なので、一括削除する方法があります。
$ rails destroy controller Greetings
generateコマンドの設定を変える
Railsガイドから、generateコマンドの設定の変え方を確認しましょう。
config/application.rb
config.generators do |g|
g.skip_routes true # ルーティングを生成しない
g.assets false # assetsファイルを生成しない
g.helper false # helperを生成しない
g.test_framework false # testファイルを生成しない
end
generateコマンドを試す
だいぶスッキリしたはずです。
終わりに
アプリ開発をする前に、これらの設定をすることで効率的な開発を行う事ができます。
参考記事

コマンドラインツール - Railsガイド
Railsが提供する各種コマンドラインツールについて解説します。
コメント