railsのテンプレートエンジンの設定をしよう

新しいcontrollerを作成する時に、rails g controller hoge index〜をする度にerbやらscssが作成されます。

何回か新しいアプリの作成をしている時に毎回設定を探していたのですが、そもそもの原理が分かれば、自分でできるので、自分への備忘録も兼ねて書いておきます。

自分はslimsassrspecを使うのですが、テンプレートを手書きで修正するのはめんどくさいので、設定をすることで修正しなくてよくなります。 sassに関しては、sass-railsの設定になります。

github.com

config/application.rb

class Application < Rails::Application
    # template generators's configuration
    config.generators do |g|
      g.template_engine :slim
      g.test_framework :rspec
    end
 config.sass.preferred_syntax = :sass
end

config.generatorsとは、言葉の通りに何かを作成する時の設定ですね。

メソッドの名前の意味がわかると、応用が効きますね。

つまり、よく作成されるjavascriptのファイルも設定で消すことができます。

config/application.rb

class Application < Rails::Application
  config.generators.javascript false
end

自分は今の所不便を感じていなかったので、この設定のままやっております。

rspecに関しては、viewhelperが入らない場合はも消すことができます。

config/application.rb

class Application < Rails::Application
  config.generators.test_framework :rspec, view_specs: false, helper_spece: false 
end

より詳しい情報は

Configuring Rails Applications — Ruby on Rails Guides

メソッドの意味を考えると、色々設定できるんじゃない?っていう発想が大事ですね。