libro
www.tuyano.com
初心者のためのRuby on Rails3入門

レイアウトを活用しよう (2/7)

作成:2012-01-30 07:56
更新:2012-02-16 15:17

■レイアウトファイルを作成する

レイアウトは、デフォルトで使われているレイアウトファイル「appilcation.html.erb」と同様、「layouts」フォルダの中にファイルを配置します。では、この中に「helos.html.erb」というファイルを作成しましょう。これがオリジナルのレイアウトテンプレートファイルです。作成したら、下のリスト欄のようにソースコードを記述しておきましょう。

このレイアウトファイルは、HTMLの基本コードの中に、Railsで用意されるさまざまな情報を組み込むためのタグを挿入しています。ここで用意されているコード類についてざっと整理しましょう。

●ヘッダー部分
<title><%= @title %></title>
これは、タイトルを出力するものです。これはRailsの機能ではなく、今回のレイアウトで独自に追加したものです。インスタンス変数@titleController側で用意することでタイトルを設定できるようにしよう、というわけです。
<%= stylesheet_link_tag "helo" %>
スタイルシートのリンクタグを出力するためのものです。これはRailsに用意されている機能です。(詳細は後ほど)
<%= javascript_include_tag "helo" %>
JavaScriptのタグを出力するためのものです。これもRailsに用意されています。
<%= csrf_meta_tags %>
その他の<meta>タグ関連を出力するためのものです。Railsの機能です。

●ボディ部分
<%= render :template=>'layouts/helos.header.html.erb'%>
ヘッダーのテンプレートを出力するためのものです。これは後ほど作成するファイルを読み込んで出力させます。独自に追加したものです。
<%= yield %>
これは既におなじみですね。コンテンツを出力するものです。Railsに用意されている機能です。

それぞれのタグの書き方などの詳細は、関連ファイルを作成するときに改めて説明します。今は、レイアウトファイルの全体像をざっと把握しておけばよいでしょう。レイアウトというのはこんな具合に各種の情報を組み込んで用意するのだ、ということがわかれば十分です。

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

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

●プログラム・リスト●

※helos.html.erbのソースコード

<!DOCTYPE html>
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
		<title><%= @title %></title>
		<%= stylesheet_link_tag "helos" %>
		<%= javascript_include_tag "hels" %>
		<%= csrf_meta_tags %>
	</head>
	<body>
		<%= render :template=>'layouts/helos.header.html.erb'%>
		<%= yield %>
	</body>
</html>
※関連コンテンツ

「初心者のためのRuby on Rails3入門」に戻る