ruby on rails - Rails: cómo agregar un encabezado a cada página
ruby-on-rails header (5)
¿Cuál es la forma estándar de agregar un encabezado y pie de página a cada vista en una aplicación Rails?
Encontrará los archivos de diseño de su aplicación en app/views/layouts/
.
Para agregar cualquier código "repetitivo" a todas las páginas, use un archivo de diseño. Normalmente se encuentra en la aplicación / vistas / diseños /.
Crea la página como lo harías con cualquier otra vista de Rails. En general, es una buena idea colocar las etiquetas <html>
, body
, etc. dentro del diseño para evitar la repetición.
En la ubicación donde desea que aparezca el contenido de las vistas individuales, coloque una etiqueta <% yield %>
. Debido a la sintaxis de bloque de Ruby y la forma en que Rails implementa los diseños, esto permitirá que cualquier vista cuyo controlador especifique este diseño para "heredar" todo el diseño e insertar solo el contenido específico de la página.
Para usar el diseño globalmente, nombre el archivo application.html.erb o especifique la opción render: layout.
Si se encuentra este archivo, será utilizado.
app / views / layouts / application.html.erb
<!doctype html>
<html>
<head>
<!-- stuff -->
</head>
<body>
<!-- this is where content will be rendered -->
<%= yield %>
</body>
</html>
De lo contrario, puede llamar a uno diferente.
# app/controllers/birds_controller.rb
class BirdsController < ApplicationController
layout :birds # looks for app/views/layouts/birds.html.erb
# ...
end
cree un diseño común ''app / views / layouts / .html.erb'' como dijo x1a4. Y dentro de eso puedes crear tu encabezado y pie de página.
Si lo desea, puede hacerlo como dos parciales y llamar dentro del archivo de diseño. Pero si solo tienes un diseño, es posible que no necesites este
tener encabezado y pie de página en parciales tiene sentido si tiene 2-3 tipos de diseño (como para usuarios normales, administradores, etc.)
y en sus controladores justo después de la declaración de clase
clase UsersController <ApplicationController layout ''layout name'' final
saludos, sameera
ponga el encabezado y el pie de página en el diseño de la aplicación que se puede encontrar en app / views / layouts / application.html.erb . Es posible que tenga que crear este archivo primero.