rails g コマンドで生成ファイルの制限
よくRailsでアプリを作るときにサンプルとして挙げられる
scaffold
これを使わずして作っていこうとしているのが
Railsチュートリアル
railstutorial.jp
とはいえscaffold便利だよね~
正直よく分かってなくてもできあがっちゃうからscaffold無しで作れとなると鬼むずい
というわけでコマンドの使い方として
$ rails g
をした時に特定のファイルが生成されない様にしてみる
手順はこちらにあります
まずはアプリの土台(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ファイルに追加しておきます
以下の記事を参考にしてください