Quantcast
Channel: 初心者タグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 21089

Rails|generateコマンドで生成されるファイルに制限をかける(config.generatorsの設定)

$
0
0

はじめに

generateコマンドっていろんなファイルを作成してくれるけど、「helperファイルの自動生成は必要ないのになー」って時などには、かえって煩わしく感じますよね。

そこで今回は、config/application.rb内の設定によって、generate コマンドで生成されるファイルに制限をかけます。(※スキップオプションを付ける方法もあるけど省略)

まずはrails generation時の挙動を確認

ターミナルでrails generation(rails gに省略可)を行うと、色々なファイルが自動生成される。

> rails g controller user show      
Running via Spring preloader in process 
      create   app/controllers/user_controller.rb
       route   get 'user/show'
      invoke   erb
      create    app/views/user
      create    app/views/user/show.html.erb
      invoke   rspec
      create    spec/controllers/user_controller_spec.rb
      create    spec/views/user
      create    spec/views/user/show.html.erb_spec.rb
      invoke   helper
      create    app/helpers/user_helper.rb
      invoke    rspec
      create    spec/helpers/user_helper_spec.rb
      invoke   assets
      invoke    js
      create    app/assets/javascripts/user.js
      invoke    scss
      create    app/assets/stylesheets/user.scss

便利だけど、必要ないファイルがあれば、それだけ生成されないようにする。
(この自動生成したファイル等を削除したければ、ターミナルでrails destroy controller user showを実行しておく)

自動生成するファイルに制限をかける

今回は、config/application.rb内の設定で、
・assetsファイル
・testファイル
・ルーティング
の生成を無効にしてみる。

config/application.rb
putsclassApplication<Rails::Application#以下のように、generateコマンド時に生成されるファイルに制限をかけるconfig.generatorsdo|g|g.assetsfalseg.test_frameworkfalseg.skip_routestrueendend

上記の設定によって、

> rails g controller user show      
Running via Spring preloader in process 82700
      create  app/controllers/user_controller.rb
      invoke  erb
      create    app/views/user
      create    app/views/user/show.html.erb
      invoke  helper
      create    app/helpers/user_helper.rb

生成ファイルに制限がかかった。

このように、プロジェクトごとに設定を変えたり、自分好みのカスタマイズができる。

おわりに

今回が初のQiita投稿でした!

これからも新しく学んだこと等をQiitaに共有できればと思います。
ご覧いただきありがとうございました。


Viewing all articles
Browse latest Browse all 21089

Trending Articles