ruby-on-rails header footer code-standards

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.