# Giochiamo coi layouts, piÃ¹ che altro aiutatemi!

**URL:** <https://www.ruby-forum.com/t/giochiamo-coi-layouts-pia-che-altro-aiutatemi/131182>\
**Category:** IT\
**Created:** [March 6, 2008, 6:58pm UTC](https://www.ruby-forum.com/t/giochiamo-coi-layouts-pia-che-altro-aiutatemi/131182 "2008-03-06T18:58:05Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![triplem](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/b19c9b/32.png) [@triplem](https://www.ruby-forum.com/u/triplem)\
**Post date:** [March 6, 2008, 6:58pm UTC](https://www.ruby-forum.com/t/giochiamo-coi-layouts-pia-che-altro-aiutatemi/131182/1 "2008-03-06T18:58:05Z")

</div>

Ciao a tutti, sto giocando con la mia applicazione di prova, la sto  
aggiornando a rails 2.0.2 ed intanto cerco di migliorarla.  
Nel tentativo di applicare il DRY, vorrei avere un unico layout  
applicativo ed aggiungere una parte in piÃ¹ per il controller admin, un  
semplice navbar coi link per la gestione di active scaffold.  
Quindi la domanda Ã¨ semplice: come faccio ad avere un application.rhtml  
(perdonatemi l’estensione antiquata) con lo scheletro ed includere altro  
html dinamicamente, per es. dove ci sono le X? (oltre al  
@content\_for\_layout):

 \<%= APPLICATION\_NAME %\>
 XXXXXXXXXXXXXX 
 \<% render(:partial =\> "notice") %\> \<%= @content\_for\_layout %\> 

mi piacerebbe fare qualcosa tipo:  
\<% render(:partial =\> “navbar” :layout=\>@controller) %\>

---

<div class="post-metadata">

**Author:** ![triplem](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/b19c9b/32.png) [@triplem](https://www.ruby-forum.com/u/triplem)\
**Post date:** [March 6, 2008, 7:23pm UTC](https://www.ruby-forum.com/t/giochiamo-coi-layouts-pia-che-altro-aiutatemi/131182/2 "2008-03-06T19:23:54Z")

</div>

On Mar 6, 2008, at 6:58 PM, Marco M. wrote:

> @content\_for\_layout):

nei tuoi template:

\<% content\_for :xxx do -%\>  
…  
\<% end -

nel tuo layout:

\<%= yield :xxx %\>

S.

---

<div class="post-metadata">

**Author:** ![triplem](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/b19c9b/32.png) [@triplem](https://www.ruby-forum.com/u/triplem)\
**Post date:** [March 10, 2008, 10:16am UTC](https://www.ruby-forum.com/t/giochiamo-coi-layouts-pia-che-altro-aiutatemi/131182/3 "2008-03-10T10:16:05Z")

</div>

Non ho ancora potuto provare il tuo suggerimento ma intanto ti ringrazio

---

<div class="post-metadata">

**Author:** ![triplem](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/b19c9b/32.png) [@triplem](https://www.ruby-forum.com/u/triplem)\
**Post date:** [March 10, 2008, 4:00pm UTC](https://www.ruby-forum.com/t/giochiamo-coi-layouts-pia-che-altro-aiutatemi/131182/4 "2008-03-10T16:00:09Z")

</div>

Marco M. wrote:

> Non ho ancora potuto provare il tuo suggerimento ma intanto ti ringrazio

Ok per l’uso normale funziona il problema Ã¨ che, come al solito, il mio  
caso Ã¨ un pÃ² piÃ¹ specifico.  
Utilizzando active scaffold non posso editare la vista per passare il  
contenuto variabile del singolo template, vorrei quindi fare una  
selezione dal layout applicativo, se questo controller fa questo  
altrimenti fa cio’ che decido per il default.

Sto provando a fare questo, nel layout:

\<% out=yield :navbar ? out : render(:partial =\> ‘navbar’) %\>

se passo il contenuto :navbar mostra quello altrimenti deve andare a  
pescarlo dal parziale nella directory del controller.  
Solo non funziona come dovrebbe, se passo il contenuto lo mostra ma se  
non lo passo non esplode il parziale… e stranamente se non esiste  
genera l’exception quindi lo cerca ma non lo mostra, bo.

Risolto questo mi rimane sempre la noia del duplicare il parziale in  
tutte le sottocartelle delle viste, vorrei per capire se c’Ã¨ un sistema  
piÃ¹ elegante che segui lo stile DRY

---

<div class="post-metadata">

**Author:** ![triplem](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/b19c9b/32.png) [@triplem](https://www.ruby-forum.com/u/triplem)\
**Post date:** [March 12, 2008, 10:04am UTC](https://www.ruby-forum.com/t/giochiamo-coi-layouts-pia-che-altro-aiutatemi/131182/5 "2008-03-12T10:04:57Z")

</div>

Stefano C. wrote:

> Se e’ sempre lo stesso lo puoi mettere in una directory comune:

Si Ã¨ sempre lo stesso, buona idea grazie

---

<div class="post-metadata">

**Author:** ![triplem](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/b19c9b/32.png) [@triplem](https://www.ruby-forum.com/u/triplem)\
**Post date:** [March 10, 2008, 5:17pm UTC](https://www.ruby-forum.com/t/giochiamo-coi-layouts-pia-che-altro-aiutatemi/131182/6 "2008-03-10T17:17:24Z")

</div>

On Mar 10, 2008, at 4:00 PM, Marco M. wrote:

> 

\<%= yield(:navbar) || render(:partial =\> “navbar”) %\>

> Risolto questo mi rimane sempre la noia del duplicare il parziale in  
> tutte le sottocartelle delle viste, vorrei per capire se c’è un  
> sistema  
> più elegante che segui lo stile DRY

Se e’ sempre lo stesso lo puoi mettere in una directory comune:

\<%= yield(:navbar) || render(:partial =\> “shared/navbar”) %\>

S.
