layout ファイルについて・その2【レイアウトファイルの書き方】
前回に引き続き今回は layout ファイルの書き方です。
まず、layout ファイルの場所ですが、app/views/layouts/ ディレクトリの中にファイルを置きます。
ファイル名は、[全て小文字のコントローラ名].rhtml です。(もしくは .rxml とかも可)
layout ファイルには、各画面で共通に表示するものを書いておきます。簡単な例ですと、app/views/layouts/galileo.rhtml ファイルに
<%= yield %> というのがミソですね。ここに、いろいろな view ファイルが埋め込まれて表示されます。
そしたら、view ファイルとして app/views/galileo/intro.rhtml ファイルに
なんて書きます。
さらに、app/controllers/galileo_controller.rb ファイルに
これで完了。
そして、http://localhost:3000/galileo/intro
にアクセスすると、layout と view を合体させた、
が表示されます。
スゴーイ!!
ちなみに、レイアウトファイル中の <%= yield %> の代わりに
<%= yield :layout %>
<%= @content_for_layout %>
とかも書けます。同じ意味らしいです。
次回は、さらに詳しく layout ファイルについて見ていきたいと思います。
【広告】
まず、layout ファイルの場所ですが、app/views/layouts/ ディレクトリの中にファイルを置きます。
ファイル名は、[全て小文字のコントローラ名].rhtml です。(もしくは .rxml とかも可)
layout ファイルには、各画面で共通に表示するものを書いておきます。簡単な例ですと、app/views/layouts/galileo.rhtml ファイルに
<html>
<head>
<title>ガリレオのいぢめられて強くなる人生</title>
</head>
<body>
<%= yield %>
</body>
</html>
<%= yield %> というのがミソですね。ここに、いろいろな view ファイルが埋め込まれて表示されます。
そしたら、view ファイルとして app/views/galileo/intro.rhtml ファイルに
イヤー、ガリレオは大変でしたのよ。<br />
そりゃー、世間の常識をひっくり返すって並大抵じゃないのよ。<br />
サラリーマンが首を紐でしばって歩く姿も、常識とはいえ変よねぇ。<br />
なんて書きます。
さらに、app/controllers/galileo_controller.rb ファイルに
class GalileoController < ApplicationController
def intro
end
end
これで完了。
そして、http://localhost:3000/galileo/intro
にアクセスすると、layout と view を合体させた、
<html>
<head>
<title>ガリレオのいぢめられて強くなる人生</title>
</head>
<body>
イヤー、ガリレオは大変でしたのよ。<br />
そりゃー、世間の常識をひっくり返すって並大抵じゃないのよ。<br />
サラリーマンが首を紐でしばって歩く姿も、常識とはいえ変よねぇ。<br />
</body>
</html>
が表示されます。
スゴーイ!!
ちなみに、レイアウトファイル中の <%= yield %> の代わりに
<%= yield :layout %>
<%= @content_for_layout %>
とかも書けます。同じ意味らしいです。
次回は、さらに詳しく layout ファイルについて見ていきたいと思います。
【広告】