rails g コマンドで生成ファイルの制限

よくRailsでアプリを作るときにサンプルとして挙げられる
scaffold
これを使わずして作っていこうとしているのが
Railsチュートリアル railstutorial.jp

とはいえscaffold便利だよね~
正直よく分かってなくてもできあがっちゃうからscaffold無しで作れとなると鬼むずい


というわけでコマンドの使い方として
$ rails gをした時に特定のファイルが生成されない様にしてみる
手順はこちらにあります

qiita.com


まずはアプリの土台(scaffoldじゃない)となる部分をnewで作成しましょう
バージョンは
Ruby 2.6.4
Rails 5.2.3
Node.js v12.14.0 以降
Yarn 1.19.2 以降
です

$ rails new アプリケーション名



今回はsampleで作ってみたいと思います
$ rails new sample
$ rails s
localhost:3000に繋いでRailsの画面が表示されればOKです。
これでまっさらな状態のsampleアプリができました。

今回はassets、helper、testファイル、ルーティングが生成されないようにしてみましょう。

上のqiitaの記事もですが、大まかな流れはRailsガイドにも載っているので参考にしてください。

Rails ジェネレータとテンプレート入門 - Railsガイド



アプリ全体の設定に当たるのでconfig/application.rbを開きましょう
上のqiitaの記事をもとに以下を記入します。
config/application.rb

     # Don't generate system test files.
      config.generators.system_tests = nil

   config.generators do |g|  # ジェネレーターズ
      g.assets false  # assetsフォルダにはCSS, JavaScriptファイル生成しない
      g.skip_routes true # ルーティングを生成しない,trueならroutes.rb変更せず、falseなら通常通り変更
      g.test_framework false # testファイル生成しない
      g.helper false  #helperを生成しない
    end                    

これでcontrollerを作成するとターミナルで作成されるファイルの数が減っているのが分かります。
もし、間違ってしまった場合はrails destroyを使うことでrails gで作成したファイルやディレクトリを一気に削除してくれます。
例:$ rails destroy controller コントローラー名


---↓は後でもいいです---
それとは別で、今後使用するRSpecというものをgemファイルに追加しておきます
以下の記事を参考にしてください

RSpecを導入する - Qiita