rails 技術ブログ

rails 技術ブログ

勉強したことをアウトプットしていきます

rails genarateコマンドで不要なファイルを作成したくない時

rails generateコマンドを使うと必要なファイルを一度に生成してくれるため便利なものの、時には不必要なファイルも一緒に生成されてしまいます。  


例えば$ rails generate controllerを実行すると以下のようにファイルが作られます。

$ rails g controller boards

Running via Spring preloader in process 74459

      create  app/controllers/boards_controller.rb
      invoke  erb
      create    app/views/boards
      invoke  test_unit
      create    test/controllers/boards_controller_test.rb
      invoke  helper
      create    app/helpers/boards_helper.rb
      invoke    test_unit
      invoke  assets
      invoke    scss
      create      app/assets/stylesheets/boards.scss


もし作成したくないファイルがある場合はconfig/application.rbに設定を書き込みます。

module RunteqNormal
  class Application < Rails::Application

    config.generators do |g|
      g.skip_routes true      #routes.rbを変更しない
      g.helper false      #ヘルパーを作成しない
      g.test_framework false #テストファイルを作成しない
    end

  end
end


先ほどのコントローラを$ rails destroy controllerで削除し、もう一度$ rails generate controllerを実行すると、、、

$ rails g controller boards [01_basic_settings]

Running via Spring preloader in process 74706

      create  app/controllers/boards_controller.rb
      invoke  erb
      create    app/views/boards
      invoke  assets
      invoke    scss
      create      app/assets/stylesheets/boards.scss

作成されたファイルが減りました。