Rails generate コマンドで生成するファイルを限定する方法
はじめに
rails g ~
コマンドを使用すると、新しくコントローラーやモデルを作成することができ、それに付随して様々なファイル(erb、view、helper)を作成してくれます。
その際、「不要なファイルは予め生成して欲しくないな〜。」って時の解決法です。
デフォルトで生成されるファイル(controllerの場合)
$ rails g controller Users now show
Usersコントローラーの他にヘルパー、viewファイルなどを作成してくれているのが分かります。
今回はassets(css,javascript),test,helperファイル、ルーティング
を自動生成しないようにしていきます。
config/application.rbに設定を追加する
Rails アプリケーションを設定する - Railsガイド
Railsガイドを見ると、config/application.rb
内でconfig.generators
メソッドを使用するように書いてあります。
config/aplication.rb ・・・ module MyProject class Application < Rails::Application #<= Rails::Applicationを継承している!! config.load_defaults 5.2 #ここからです config.generators do |g| g.assets false # <= css,javascriptファイルを作成しない g.helper false # <= helperファイルを作成しない g.test_framework false # <= テストファイルを作成しない g.skip_routes true # <= routes.rbを変更しない end # ここまでです config.generators.system_tests = nil end end
$ rails g controller Users now show を再度行ってみると...
コントローラーとerbのみ作成してくれているのが分かります!!