- テンプレートファイルは標準で ./views ディレクトリに格納されていると想定されています。
- テンプレートファイルは ./views ファイルに格納してください。
- テンプレートファイルの格納ディレクトリを変えたい場合は set :views により変更できます。
- テンプレートファイルを作成する以外の方法も用意されています。
ファイル内テンプレート | template メソッドで定義する方法です。 |
名前付きテンプレート | ソースファイルの最後(__END__ 以降)に指定された構文で定義する方法です。 |
- ハンドラ・テンプレート間の情報のやり取りは、インスタンス変数を使う方法が一般的です。
- layout という名前のテンプレートは特別扱いされます。
- 他のテンプレートをラッピングする特別なテンプレートです。
- 共通のヘッダー/フッターなどの定義できます。
- layout テンプレート内で yield を実行し、その箇所に実際のテンプレートで生成した本文の文字列を埋め込めます。
<!-- layout.erb の例 -->
<html>
<head>
<title>タイトル</title>
</head>
<body>
<%= yield %>
</body>
</html>
- テンプレートメソッドは単にテンプレートを使って文字列を生成するだけです。従って、別の用途にも使えます。
- 送信メールのテンプレートとして利用する。
- テンプレート内で別のテンプレートを利用する。
- などなど。
<!-- テンプレート内で別のテンプレートを利用する例 -->
<html>
<head>
<title>2つのテンプレート部品を組み合わせてページを作る</title>
</head>
<body>
<%= erb :template_parts1 %>
<%= erb :template_parts2 %>
</body>
</html>