libro
www.tuyano.com
初心者のためのRubyプログラミング入門

ERBによるWebアプリケーション開発 (3/3)

作成:2013-06-16 12:23
更新:2013-06-16 12:23

■rhtmlファイルにスクリプトを埋め込もう

では、実際にERBを利用したスクリプトを動かしてみましょう。下のリスト欄に簡単なサンプルを挙げておきます。これを「helo.rhtml」というファイルで、先ほどERBを実行できるように指定したディレクトリに設置しましょう。

ファイルを記述したら、ブラウザからhelo.rhtmlにアクセスをしてみてください。今日の日付が表示されましたか? この日付の部分が、Rubyのスクリプトとして実行されたものなのです。

なお、ここではUTF-8でエンコーディングしている前提で書いてありますので、冒頭に以下のような記述がしてあります。
<%# coding: UTF-8 %>
これの指定がないと、HTML内に<meta>タグなどでUTF-8の指定を書いてあっても、ERB自体はSJISと判断するようですので注意しましょう。


■ERBの2つのタグ

ここでは、2つの特殊なタグを使ってRubyのスクリプトを記述しています。整理すると以下のようになっています。


・スクリプトを実行する
<% ……スクリプト…… %>
Rubyのスクリプトをその場で実行するものです。この<%から%>までの中にRubyのスクリプトを記述します。


・Rubyの値を出力する
<%= 値 %>
Rubyの変数などの値をその場所に出力するものです。

ここでは、最初に<% %>タグを使って現在の日時の値を変数msgに収め、それをHTML内に埋め込んだ<%=msg %>で出力しています。ERBによるスクリプトは、こんな具合に「<% %>で事前に必要な処理を済ませておき、<%= %>でその結果を出力する」という形で使います。

この2つのタグの使い方さえわかれば、ERBで簡単にサーバーサイド開発ができるようになりますよ!

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

●プログラム・リスト●

※helo.rhtml

<%# coding: UTF-8 %>
<%
t = Time.now
msg = t.strftime("%Y-%m-%d")
%>
<html>
<head>
</head>
<body>
<h1>Hello!</h1>
<p>これはERBを使ったサンプルです。</p>
<p><%=msg %></p>
</body>
</html>

※関連コンテンツ

「初心者のためのRubyプログラミング入門」に戻る