テンプレートエンジン

ERB

Rubyに標準で使えるテンプレートエンジン。

ERBの見た目はHTMLとほぼ同じのため、既存のHTMLもそのまま使える。

<!DOCTYPE html>
<html>
<head>
<title>Title</title>
<%= csrf_meta_tags %>
<%= csp_meta_tag %>
<script type="text/javascript" src="https://js.pay.jp/v1/"></script>
<%= stylesheet_link_tag 'application', media: 'all'%>
<%= javascript_pack_tag 'application' %>
</head>
<body>
<%= yield %>
</body>
</html>

おなじみのコード。

 

Haml

HTMLをシンプルなコードにしたテンプレートエンジン。

Rails標準搭載ではないのでgemパッケージをインストールして使う。

gemを使うときは gem 'haml-rails'

!!!
%html
%head
%meta{:content => "text/html; charset=UTF-8", "http-equiv" => "Content-Type"}/
%title Title
= csrf_meta_tags
= csp_meta_tag
%script{:src => "https://js.pay.jp/v1/", :type => "text/javascript"}
= stylesheet_link_tag 'application', media: 'all'
= javascript_pack_tag 'application'
%body
= yield

end などの締めのコードを省けるので記述量は減る

既存のerb をhaml にしてくれるgem 'html2haml'もある。

 

逆にhaml からerb に翻訳してくれる参考にさせていただいているホームページはこちら。

https://haml2erb.org/

 

Slim

Hamlより更に簡潔なコードになるテンプレートエンジン。

こちらもRails標準搭載ではないのでgemパッケージをインストールして使う。

gem'slimrails'

doctype html
html
head
title
| Title
= csrf_meta_tags
= csp_meta_tag
script[type="text/javascript" src="https://js.pay.jp/v1/"]
= stylesheet_link_tag 'application', media: 'all'
= javascript_pack_tag 'application'
body
= yield

こんな感じ。

ちなみにこちらのページはHTMLをHamlまたはSlimに翻訳してくれるページ。

https://erb2slim.com/