logo

Ruby & Rails > 第26回 altERBで楽々Railsコーディング! ~Hamlの紹介~

CTC教育サービスはコラム「Ruby & Rails > 第26回 altERBで楽々Railsコーディング! ~Hamlの紹介~ 」を公開しました。

###
第26回 altERBで楽々Railsコーディング! ~Hamlの紹介~ (藺藤卓実) 2016年7月
こんにちは。 藺藤です。

今回のRuby & Railsコラムでは「altERBで楽々Railsコーディング」と題し、Railsでも利用できるGemの一つ、「Haml」を紹介します。(*1) Hamlは簡潔な記述でHTMLを作成できるテンプレートエンジンです。

Hamlとは
Hamlの説明に入る前に、RailsでビューのHTMLを作成するときにデフォルトで利用するERBを見てみましょう。(*2)

ERBはRuby製テンプレートエンジンです。 HTMLに限らず、様々なテキストファイル中にRubyコードを埋め込みたいときに利用されます。 ERBファイルの拡張子は.erbです。 例えば、挨拶するHTMLを作成する場合には次のように書きます。(*3)

[greeting.html.erb]
<div id="message"><%= "こんにちは。" %></div>
[greeting.html]
<div id="message">こんにちは。</div>
この例を応用させて、現在時刻に応じて「おはようございます」「こんばんは」等と挨拶させることもできます。

ERBを利用することで、Webページにアクセスした時点でのデータベースの値や、ユーザの入力に基づいた計算結果などを含む、いわゆる動的なページを作成することができます。 ERB自体はプログラマにとって馴染み易く、取り組みやすいものです。 類似の技術としてPHP言語や、Java言語のJSPが挙げられます。

ERBは便利なものですが、汎用的なテンプレートエンジンであるため、HTMLを書き下すことを目的とする場合には冗長な記述になりがちです。 このような場合、専用のテンプレートエンジンを利用することでHTMLを「より簡潔に記述し」、「より素早くコーディングできる」ようになります。

今回はRailsのERBを代替できるテンプレートエンジン(="altERB")として「Haml」を紹介します。 Hamlを使うと、上で示した挨拶の例は次のように書き下せます。 なお、Hamlの拡張子は.hamlです。

[greeting.html.haml]
#message こんにちは。
[greeting.html]
<div id="message">こんにちは。</div>

この続きは以下をご覧ください
リンク

本プレスリリースは発表元企業よりご投稿いただいた情報を掲載しております。
お問い合わせにつきましては発表元企業までお願いいたします。

今日の主要記事