Layout je rozvržení stránky. V tomto je zahrnuto rozložení jednotlivých komponent a hlavního obsahu.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>Simple Web: <%= @page_title ||= 'Staff Area' %></title> <meta http-equiv="content-type" content="text/html;charset=utf-8" /> <meta name="author" content="Radek Hnilica" /> <meta name="copyright" content="Copyright 2008, Radek Hnilica" /> <%= stylesheet_link_tag('myweb', 'main', :media => 'all') %> </head> <body class="public"> <div id="header"> <h1><%= link_to('MyWeb', '/', :style => 'text-decoration: none; color: #DDDDDD;') %></h1> </div> <div id="pagecontent"> <h1><%= @page_title %></h1> <%= %Q(<div class="notice">#{flash[:notice]}</div>) if flash[:notice] %> <%= yield %> </div> <div id="footer"> <p>Copyright 2008, Radek Hnilica</p> </div> </body> </html>
V každém řadiči můžeme specifikovat v jakém layout se budou jeho stránky zobrazovat.
class PeopleController < ApplicationController layout "staff" def index end def login end ⋮ end