テンプレートエンジンSlim

今までRailsでビューをかくときは、ほとんどerbを使用しておりました。

数回だけhamlに挑戦したことはあるものの、あまり好きになれずerbに戻っておりました。

しかし今回、slimに挑戦することとなったので、slimについての基本的な導入方法、使い方についてまとめてみようと思います!!!

 

Slimとは

Slimとは、viewの構文を本質的な部品まで減らすことを目指して作られた、Ruby製のテンプレートエンジンです。

拡張子は.slimです。

インデントによって、htmlタグのインデントを表現します。

github.com

 

 

(例) 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へ変換後表示しないコメントは / 、表示されるコメントは /! と書きます。