Railsでテンプレートエンジンslimを使う

Railsでアプリケーションを作る時、特に何も考えずにerbをテンプレートエンジンとして使っていたのだけど、 slimを使うと大分効率が良さそうなので、Railsアプリの初期構築時にerbではなく、 slimをテンプレートエンジンとする方法を纏めておきます。

Railsのバージョンは、4.2.6です。


纏めるというほどの手順もなく、

  • Gemfile
  • config/application.rb

を修正して、

  • app/views/layouts/application.html.slim

を作成すればよい。

Gemfile

Gemfileにslimを追記する。

gem 'slim-rails'

config/application.rb

Applicationのconfigurationのテンプレートエンジンをslimに変更する。

config.generators.template_engine = :slim

app/views/layouts/application.html.slim

次の内容でデフォルトレイアウトテンプレートを作成する。

DOCTYPE html
html
  head
    title Title
    = stylesheet_link_tag 'application', media: 'all'
    = csrf_meta_tags

  body
    == yield
    = javascript_include_tag 'application'

これでrails scaffoldrails gした際のビューがslimで生成されます。