先ほど生成されたビューを見てみると、本当にユーザ名しか書かれておらず、
〜などの基本的な構造すら入っていないのが分かります。しかし、これからビューを増やしていくことを考えると、いちいち全てのビューに同じことを書いていくのは大変です。そこで、Railsではlayoutという仕組みを用意しています。詳しくはこことかここ 辺りに。
今回は、アプリケーション全体に適用するレイアウトを書いてみます。場所は app/views/layouts/application.rhtml 。
スタイルシートとか、共通で使うJavaScriptもここに書くと良いでしょう。例えば
<html> <head> <title><%= @title %></title> <%= stylesheet_link_tag('monologue') %> </head> <body> <div id="subpage"> <%= link_to image_tag("monologue.png", :align => 'left', :id => 'logo'), "/" %> <br style="clear:both"> <%= @content_for_layout %> </div> </body> </html>
とか。
ちなみに <%= 〜 %> や <% 〜 %> はerbの表記です。〜にはrubyの命令を埋め込めます。前者は結果をHTML内に出力し、後者は出力しません。後者はループやif文などの制御構造を書くためにも使えます。
image_tag はimgタグの生成。public/stylesheets/images/ 内においたファイルへのimgタグを生成します。
stylesheet_link_tag は、public/stylesheets/ においたcssファイルへのlinkタグを生成するメソッドです。
JavaScriptの場合も、javascript_include_tag メソッドで、 public/javascripts/ 内のファイルを呼び出すscriptタグが生成できます。
今回はロゴの画像を配置するとともに、monologue.cssという全体に適用するスタイルシートへのリンクを張っています。