テンプレートエンジン
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>
おなじみのコード。
HTMLをシンプルなコードにしたテンプレートエンジン。
Rails標準搭載ではないのでgemパッケージをインストールして使う。
!!!
%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 に翻訳してくれる参考にさせていただいているホームページはこちら。
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に翻訳してくれるページ。