テンプレートの使い方には、大きく分けて2種類の使い方があります。
テンプレートに以下のようにセクションを指定する、簡易的な方法です。
<%= header_section %> <title>Hello</title> <%= body_section %> <p>Hello world.</p> <%= footer_section %>
全体のレイアウトを決定するテンプレートを作成し、それに個々の出力を当てはめてページを生成する方法です。
@contents = "my_contents.rhtml" AlTemplate.run( "layout.rhtml" )
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Hello</title> </head> <body> <% include( @contents ) %> </body> </html>
<p>Hello world.</p>
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=<xx>&b= SPACE</a>
<% xxx %>
例
<% 5.times do %> <p>Hello, world.</p> <% end %>
<%= include( インクルードするサブテンプレートファイル名 ) %>
<%= header_section %>
<%= body_section %>
<%= footer_section %>