Domanda

Qual è il modo standard per aggiungere un'intestazione e piè di pagina per ogni vista in un'applicazione Rails?

È stato utile?

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top