Rails: come aggiungere un'intestazione a ogni pagina
-
04-10-2019 - |
Domanda
Qual è il modo standard per aggiungere un'intestazione e piè di pagina per ogni vista in un'applicazione Rails?
Soluzione
Se si trova questo file, verrà utilizzato.
app / views / layout / application.html.erb
<!doctype html>
<html>
<head>
<!-- stuff -->
</head>
<body>
<!-- this is where content will be rendered -->
<%= yield %>
</body>
</html>
In caso contrario, è possibile chiamare in uno diverso.
# app/controllers/birds_controller.rb
class BirdsController < ApplicationController
layout :birds # looks for app/views/layouts/birds.html.erb
# ...
end
Altri suggerimenti
mettere l'intestazione e piè di pagina nel layout dell'applicazione che si trova a app / views / layout / application.html.erb .È possono avere per creare questo file prima.
Per aggiungere alcun codice "boilerplate" per tutte le pagine, utilizzare un file di layout. Si trova di solito in app / views / layout /.
Creare la pagina come si farebbe con qualsiasi altro vedere Rails. In generale, è una buona idea per posizionare il <html>
, body
, ecc tag all'interno del layout per evitare ripetizioni.
Nella posizione in cui si desidera che il contenuto da singole viste di apparire, mettere in un tag <% yield %>
. A causa della sintassi del blocco di Ruby e il modo in Rails utensileria layout, questo permetterà una qualsiasi vista il cui controllo specifica questo layout per "ereditare" tutta del layout e inserire solo il contenuto specifico-pagina.
Per usare il layout a livello globale, il nome del file application.html.erb o specificare il rendering:. Opzione di layout
Troverete file di layout del vostro app in app/views/layouts/
.
creare un layout comune 'app / views / layout / .html.erb' come dicevano x1a4. E dentro che è possibile creare l'intestazione e piè
Se si vuole si può fare che come due parziali e chiamata all'interno del file di layout. Ma se si dispone di un solo layout potrebbe non essere necessario questo
avere intestazione e piè di pagina parziali senso se si dispone di 2-3 tipi di layout (come per gli utenti normali, amministratori ecc ...)
e nei tuoi controller subito dopo la dichiarazione della classe
class UsersController applausi,
Sameera