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>