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>
この続きは以下をご覧ください
http://www.school.ctc-g.co.jp/columns/masuidrive/masuidrive26.html
ソーシャルもやってます!