ENTRANCE

都内でエンジニアやってます。主にRubyとJavaを書いて遊んでる人のブログ。楽しくのんびりとがモットー。

【Ruby on Rails】Railsで余計なファイルを作らない

こんにちは、かっつんです!

 

Railsコマンドなどを入力した時に、デフォルトで勝手に生成されるファイルに不要なものってありますよね?

そういったファイルを生成しないようにする方法を紹介します!

例えば、rails g コマンドを使って「Sample」という名前のモデルを作る場合、
ターミナルでrails g model sampleと入力すると、
デフォルトでは以下のように、不要なファイルまで作られてしまいます。

ターミナル

$ rails g model sample
   Running via Spring preloader in process 23555
               invoke  active_record
               create    db/migrate/20190210142639_create_samples.rb
               create    app/models/sample.rb
               invoke    test_unit
               create    test/models/sample_test.rb
               create    test/fixtures/samples.yml

出来るだけ、余計なファイルは作りたくないですよね。
そんな時には、config/application.rbに設定を書き加えましょう!!!

config/application.rb

...省略
module SampleApp
  class Application < Rails::Application
    config.generators do |g|
      g.stylesheets false   #styleシート
      g.javascripts false   #javascript
      g.helper false         #ヘルパー
      g.test_framework false #テストファイル 
    end
  end
end

上の記述では、styleシート、avascript、ヘルパー、テストファイル の自動生成を止めてくれます!  

では試しに、もう一度モデルを作ってみます!
今度は「sample2」という名前のモデルを作ります。
入力するコマンドは、rails g model sample2です。


結果は.....

ターミナル

$ rails g model sample2
   Running via Spring preloader in process 23668
               invoke  active_record
               create    db/migrate/20190210144242_create_sample2s.rb
               create    app/models/sample2.rb

はい、先ほど指定したファイルが生成されなくなりました!