slim
slimとは
特徴
・< >や閉じタグなどを削り、最低限必要なものだけを残した、非常にシンプルなテンプレート言語
・軽量
といった特徴を持つ、Ruby製のテンプレートエンジンです。
つまり、このslimの記法を用いることによって、HTMLがより簡潔に記述できる。
Railsにはデフォルトでerbというテンプレートエンジンが導入されていますが、これをslimに変更したい場合、
Gemfile gem 'slim-rails'
とGemfileに追記してあげた上で、bundle intallを実行後、viewファイルの拡張子をhtml.slimとしてあげればOK
注意
・slim-rails導入後、ジェネレーター経由で生成されるviewファイルの拡張子は、.html.erbから.html.slimに変更される
・slimとerbの共存も可能ですが、一つのアプリケーション内に二つのテンプレートエンジンを使用すると記述がややこしくなってしまうので避けたほうが無難でしょう。 変更したい場合は、html2slimなどのgemを用いて記述を書き換えてしまうのが一般的です。
変更を行うとき、
gem install html2slim
これでhtml.erb → html.slim に変換させることができる!
slimの記法
例 erbの中でrubyのeach記法を使用したい場合
<% @articles.each do |a| %> <p><%= a.title %></p> <% end %>
上記をslimに変更すると
- @articles.each do |a| p = a.title
他の例
クラスやidの指定
クラスやidはそれぞれ、., #で表現することができる。
erb
<dev class="content"> <p class="title">タイトル</hoge> </dev> <dev id="content"> <p id="title">タイトル</hoge> </dev>
上記をslimに
dev.content p.title タイトル dev#content p#title タイトル
・<>がいらない
・<%= %> → =
・<% %> → -
・コメント → /
・id指定 → #
・class指定 → .
参考文献