Um layout define os arredores de uma página HTML. É o lugar para definir a aparência e sensação de seu resultado final. Arquivos de layout residir em app / views / layouts:

O processo envolve a definição de um modelo de layout e, em seguida, deixando o controlador sabe que ele existe e para usá-lo. Primeiro, vamos criar o modelo.

Adicionar um novo arquivo chamado standard.rhtml para app / views / layouts. Você deixou os controladores de saber qual modelo usar com o nome do arquivo, assim seguindo um esquema de nomes sã é aconselhada.

Adicione o seguinte código para o arquivo standard.rhtml novo e salvar as alterações:

Código:

<!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">
<head>
<meta http-equiv="Content-Type" content="text/html;.
charset=iso-8859-1" />
<meta http-equiv="Content-Language" content="en-us" />
<title>Library Info System</title>
[b]<%= stylesheet_link_tag "style" %>[/b]
</head>
<body id="library">
<div id="container">
<div id="header">
<h1>Library Info System</h1>
<h3>Library powered by Ruby on Rails</h3>
</div>
<div id="content">
[b]<%= yield -%>[/b]
</div>
<div id="sidebar"></div>
</div>
</body>
</html>


Tudo o que você acabou de adicionar elementos eram padrão HTML, exceto duas linhas. O método gera uma stylesheet_link_taghelper estilo. Neste caso estamos ligando folha de estilo style.css. O comando rendimento permite Rails sabe que deve colocar o RHTML para o método chamado aqui.

Agora aberto book_controller.rb e adicionar a seguinte linha logo abaixo da primeira linha:

Código:


class BookController < ApplicationController
  layout 'standard'
  def list
      @books = Book.find(:all)
  end
...................


Isto diz ao controlador que queremos usar um layout disponível em arquivo standard.html. Agora tente procurar livros que lhe dão tela a seguir.

[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]

Adicionando folha de estilo:

Até agora nós não criou qualquer folha de estilo, assim Rails está usando folha de estilo padrão. Agora vamos criar um novo arquivo chamado style.css e salve-o em / public / stylesheets. Adicione o seguinte código para esse arquivo.

Código:

body {
  font-family: Helvetica, Geneva, Arial, sans-serif;
  font-size: small;
  font-color: #000;
  background-color: #fff;
}
a:link, a:active, a:visited {
  color: #CD0000;
}
input {
  margin-bottom: 5px;
}
p {
  line-height: 150%;
}
div#container {
  width: 760px;
  margin: 0 auto;
}
div#header {
  text-align: center;
  padding-bottom: 15px;
}
div#content {
  float: left;
  width: 450px;
  padding: 10px;
}
div#content h3 {
  margin-top: 15px;
}
ul#books {
  list-style-type: none;
}
ul#books li {
  line-height: 140%;
}
div#sidebar {
  width: 200px;
  margin-left: 480px;
}
ul#subjects {
  width: 700px;
  text-align: center;
  padding: 5px;
  background-color: #ececec;
  border: 1px solid #ccc;
  margin-bottom: 20px;
}
ul#subjects li {
  display: inline;
  padding-left: 5px;
}


Agora atualize seu navegador e veja a diferença:

[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]

Spoiler :