目次

テンプレートファイル

テンプレートの使い方には、大きく分けて2種類の使い方があります。

方法1:セクションを指定する方法

テンプレートに以下のようにセクションを指定する、簡易的な方法です。

index.rhtml
<%= header_section %>
  <title>Hello</title>
 
<%= body_section %>
  <p>Hello world.</p>
 
<%= footer_section %>

方法2:レイアウトファイルを使う方法

全体のレイアウトを決定するテンプレートを作成し、それに個々の出力を当てはめてページを生成する方法です。

main.rb
@contents = "my_contents.rhtml"
AlTemplate.run( "layout.rhtml" )
layout.rhtml
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Hello</title>
  </head>
  <body>
<% include( @contents ) %>
  </body>
</html>
my_contents.rhtml
<p>Hello world.</p>

eRubyについて

eRubyのサブセットです。以下の機能があります。

<%=h xxx %>

<%=h @my_message %>
<%=h @my_message * 3 %>

<%= xxx %>

<%=s "FILENAME" %>

AL_URI_STATIC = "/img"の場合

テンプレートファイル

<img src="<%=s "image-file.png" %>">

結果

<img src="/img/image-file.png">

<%=u xxx %>

@url_param = "a=<xx>&b= SPACE"

テンプレートファイル

URL:<a href="http://example.com?<%=u @url_param %>">http://example.com?<%=h @url_param %></a>

結果

URL:<a href="http://example.com?a%3d%3cxx%3e%26b%3d%20SPACE">http://example.com?a=&lt;xx&gt;&amp;b= SPACE</a>

<% xxx %>

<% 5.times do %>
  <p>Hello, world.</p>
<% end %>

サブコマンド

<%= include( インクルードするサブテンプレートファイル名 ) %>

<%= header_section %>
<%= body_section %>
<%= footer_section %>

サブコマンドの追加