ruby-on-rails - official - ruby on rails website
¿Insertar encabezados y pies de página en la aplicación web Ruby on Rails? (2)
Vengo del desarrollo de PHP y estoy tratando de aprender Ruby on Rails. Me gustaría saber cuál es la mejor práctica para insertar encabezados y pies de página. Normalmente en PHP simplemente include(''header.php'');
y luego include(''footer.php'');
¿Ahora estoy tratando de aprender Ruby on Rails e intentar entender cómo o dónde debo colocar estos archivos de encabezado / pie de página?
Creé una nueva aplicación
rails new new_app
Entonces generé un nuevo controlador
rails generate controller SignUp
Esto creó algunos archivos y carpetas. He desarrollado algo de HTML dentro de la nueva new_app/views/sign_up
, pero me gustaría incluir el encabezado y el pie de página en esta página y para las páginas futuras. ¿Dónde debería tener estos archivos? ¿En la misma carpeta? o debajo de la carpeta predeterminada en new_app/views/layouts
? Además, ¿cómo puedo incluir archivos una vez que los creé?
Soy nuevo en el desarrollo de Ruby on Rails y me gustaría obtener algunos conocimientos de expertos. ¡Gracias!
En el new_app/views/layouts
habrá un archivo llamado application.html.erb
. Abra ese archivo y coloque el contenido de su encabezado encima de donde está escrito <%= yield>
y el contenido del pie de página debajo de <%=yield>
.
Normalmente hago un parital en el archivo de diseños llamado _header.html.erb
y _footer.html.erb
y hago algo como esto:
<%= render "layouts/header" %>
<%=yield %>
<%= render "layouts/footer" %>
Podría crear un parcial para el encabezado y el pie de página, e incluirlos usando render
en el archivo de diseño, si tiene contenido dinámico. De lo contrario, podría editar el archivo de diseño para tener el encabezado y el pie de página.
Sus vistas generadas por el andamio para SignUp utilizarán el archivo de diseño para representar el HTML final, por lo que todo el contenido de la app/views/layouts/application.html.erb
se incluirá en la salida (suponiendo que esté usando este archivo como el archivo de diseño para su vista).