Slimとは


Railsで使えるテンプレートエンジン
Slimの他にHamlなどがあるが、Slimの方が記述方法がシンプル。
HTMLをタグではなく階層構造(インデント)で表す。閉じタグは省略可能。

テンプレートエンジンとは

MVCフレームワークにおいて、Controllerで定義した変数をviewで使用できるようにする仕組み。
Railsでは標準でERBが採用されている。

文法

「/」 コメントアウト

test.slim
/これはコメントです
tr
 th
 th

出力

test.html
<tr>
  <th></th>
  <th></th>
</tr>

「-」 Rubyのコードを記述

test.slim
tbody
      - @tasks.each do |task|
        tr
          td
          td

「=」 Rubyのコードを出力する

test.slim
tr
  td= link_to task.name, task
  td= task.created_at

「# / .」 id属性・クラス属性

#tasks
  .task.red
  /idの中に複数クラス

出力

test.html
<div id="tasks">
  <div class="task red">

  </div>
</div>