この記事では以下についてまとめる。

  • RailsプロジェクトにSlimを導入する手順
  • 既存のERBファイルをSlimファイルに変換する方法

Slimとは

テンプレートエンジンの一種で、名前の通りERBよりもスリムなコードが書ける。

ERBの場合

<% @users.each do |user| %>
  <tr>
    <td><%= user.name %></td>
    <td><%= link_to 'Show', user %></td>
    <td><%= link_to 'Edit', edit_user_path(user) %></td>
    <td><%= link_to 'Destroy', user, method: :delete, data: { confirm: 'Are you sure?' } %></td>
  </tr>
<% end %>

Slimの場合

- @users.each do |user|
  tr
    td
      = user.name
    td
      = link_to 'Show', user
    td
      = link_to 'Edit', edit_user_path(user)
    td
      = link_to 'Destroy', user, method: :delete, data: { confirm: 'Are you sure?' }

Railsプロジェクトへの導入

Gemfileに以下の1行を追加してbundle install。

gem 'slim-rails'

ERBからSlimへの変換

Gemfileに以下の1行を追加してbundle install。

gem 'slim-rails'

以下のコマンドを実行。(-dは変換前のERBファイルを削除するオプション。)

$ bundle exec erb2slim app/views/ -d