ERBによるWebアプリケーション開発 (3/3)
作成:2013-06-16 12:23
更新:2013-06-16 12:23
更新:2013-06-16 12:23
■rhtmlファイルにスクリプトを埋め込もう
では、実際にERBを利用したスクリプトを動かしてみましょう。下のリスト欄に簡単なサンプルを挙げておきます。これを「helo.rhtml」というファイルで、先ほどERBを実行できるように指定したディレクトリに設置しましょう。
ファイルを記述したら、ブラウザからhelo.rhtmlにアクセスをしてみてください。今日の日付が表示されましたか? この日付の部分が、Rubyのスクリプトとして実行されたものなのです。
なお、ここではUTF-8でエンコーディングしている前提で書いてありますので、冒頭に以下のような記述がしてあります。
ここでは、2つの特殊なタグを使ってRubyのスクリプトを記述しています。整理すると以下のようになっています。
・スクリプトを実行する
・Rubyの値を出力する
ここでは、最初に<% %>タグを使って現在の日時の値を変数msgに収め、それをHTML内に埋め込んだ<%=msg %>で出力しています。ERBによるスクリプトは、こんな具合に「<% %>で事前に必要な処理を済ませておき、<%= %>でその結果を出力する」という形で使います。
この2つのタグの使い方さえわかれば、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で簡単にサーバーサイド開発ができるようになりますよ!
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
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>
※関連コンテンツ