テンプレートエンジンをerbからslimへ移行する
Ruby on Railsのデフォルトのテンプレートエンジンは「ERB(Embedded Ruby)」です。
Railsで使えるテンプレートエンジンは他にもあり、「slim」ではHTMLを簡潔に記述することができ、もちろんRubyの埋め込みもできます。
erbからslimへ移行する手順と、slim記法の基本をまとめます。
導入方法
Gemfileにslim-railsをを加えてbundle install
Gemfile
gem 'slim-rails'
もし既にerbで作成しているファイルがあれば以下も追加すると便利
Gemfile
gem 'html2slim'
このhtml2slimを導入することで erb2slimが使える様になる
$ bundle exec erb2slim [対象ファイル]
でerbをslimに変換してくれる。
※場合によってはうまく変換できないこともあるので注意
slimの書き方
- タグの
<>
や閉じタグが不要になる class="CLASS"
は.CLASS
,id="ID"
は#ID
と書くことができる。- divタグの場合はdivを省略することができる。
*.html.erb
<h1 class="title">Users<h1> <div class="container"> <a href="#">user</a>
*.html.slim
h1.title User .container a href="#" | user
- erbタグの
<% %>
は-
、<%= %>
は=
で書ける
*.html.erb
<ul> <% @users.each do |user| %> <li><%= user.name %></li> <% end %> </ul>
*.html.slim
ul - @users.each do |user| li = user.name
その他公式リファレンスを参照