Edited at

rails generate controller で不要なファイルを生み出さないために

Railsを使っていて、新しくControllerを追加するときに、こんな感じで必要なファイルを生成するかと思います。

rails generate controller hoge

ドサッとファイルが生成されるんですけど、

$ rails generate controller hoge

create /controllers/hoge_controller.rb
invoke erb
create /views/hoge
invoke rspec
create spec/controllers/hoge_controller_spec.rb
invoke helper
create /helpers/hoge_helper.rb
invoke rspec
create spec/helpers/hoge_helper_spec.rb
invoke assets
invoke coffee
create /assets/javascripts/hoge.js.coffee
invoke scss
create /assets/stylesheets/hoge.scss


「いちいちControllerごとにCSSやJSを分けたりしない」

「このControllerでHelperを使う予定はない」

「テストコードは必要になった時に書くから、最初からは要らない」


なんて人もいるんじゃないでしょうか。

不要なファイルを生成しないためのオプションが用意されています。

オプション
省略される要素

--no-assets

app/assets/stylesheets以下の*.css
app/assets/javascripts以下の*.js

--no-helper

app/helpers以下のHelperファイル

--no-test-framework

spec/controllers以下のSpecファイル

--skip-routes

config/routes.rbのroutesの追記

--skip-template-engine

app/views以下のViewファイル

以上、まとめた記事が見つからなかったので、自分でまとめてみました。