テンプレートエンジンSlim
今までRailsでビューをかくときは、ほとんどerbを使用しておりました。
数回だけhamlに挑戦したことはあるものの、あまり好きになれずerbに戻っておりました。
しかし今回、slimに挑戦することとなったので、slimについての基本的な導入方法、使い方についてまとめてみようと思います!!!
Slimとは
Slimとは、viewの構文を本質的な部品まで減らすことを目指して作られた、Ruby製のテンプレートエンジンです。
拡張子は.slimです。
インデントによって、htmlタグのインデントを表現します。
(例) slimを使ってhtmlを書くと以下のようにスッキリした感じです。
doctype html html head title Slim のファイル例 meta name="keywords" content="template language" meta name="author" content=author link rel="icon" type="image/png" href=file_path("favicon.png") javascript: alert('Slim は javascript の埋め込みに対応しています!') body h1 マークアップ例 #content p このマークアップ例は Slim の典型的なファイルがどのようなものか示します。 == yield - if items.any? table#items - for item in items tr td.name = item.name td.price = item.price - else p アイテムが見つかりませんでした。いくつか目録を追加してください。 ありがとう! div id="footer" == render 'footer' | Copyright © #{@year} #{@author}
RailsへのSlimの導入方法
Gemfileに以下を追記し、bundle installします。
gem 'slim-rails'
config/application.rbに以下を追記し、デフォルトのテンプレートエンジンをslimに設定します。
class Application < Rails::Application
config.generators.template_engine = :slim
end
あとは、拡張子を.erbから.slimに変更し、slimで書いていきます。
基本的なSlimの書き方
・<, >, /> を省きます。
・classは.class_name、idは#id_name と書きます。
・<% %>は - 、<%= %>は = と書きます。
・HTMLへ変換後表示しないコメントは / 、表示されるコメントは /! と書きます。