# Rails ed il riciclo delle variabili

**URL:** <https://www.ruby-forum.com/t/rails-ed-il-riciclo-delle-variabili/117489>\
**Category:** IT\
**Created:** [October 17, 2007, 11:17am UTC](https://www.ruby-forum.com/t/rails-ed-il-riciclo-delle-variabili/117489 "2007-10-17T11:17:34Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![reis](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/f1d935/32.png) [@reis](https://www.ruby-forum.com/u/reis)\
**Post date:** [October 17, 2007, 11:17am UTC](https://www.ruby-forum.com/t/rails-ed-il-riciclo-delle-variabili/117489/1 "2007-10-17T11:17:34Z")

</div>

Ciao a tutti,  
ho un grandissimo problema di ignoranza: se creo un sito in rails ci  
sono alcune variabili che mi servono in tutte le view… un esempio?

“Il menu”

mi chiedo Ã¨ possibile portarsi dietro questa variabile SENZA RISCRIVERE  
all’interno di ogni istanza “@menu = Menu.find(:all)”?

Spero di essere stato il piÃ¹ chiaro possibile…

Andrea  
il newbbone

---

<div class="post-metadata">

**Author:** ![reis](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/f1d935/32.png) [@reis](https://www.ruby-forum.com/u/reis)\
**Post date:** [October 17, 2007, 11:33am UTC](https://www.ruby-forum.com/t/rails-ed-il-riciclo-delle-variabili/117489/2 "2007-10-17T11:33:22Z")

</div>

On Mer, Ottobre 17, 2007 11:17, Andrea R. wrote:

> mi chiedo Ã¨ possibile portarsi dietro questa variabile SENZA  
> RISCRIVERE  
> all’interno di ogni istanza “@menu = Menu.find(:all)”?

Puoi utilizzare qualche meccanismo di caching, tipo il fragment caching.

Nico

---

<div class="post-metadata">

**Author:** ![reis](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/f1d935/32.png) [@reis](https://www.ruby-forum.com/u/reis)\
**Post date:** [October 17, 2007, 12:02pm UTC](https://www.ruby-forum.com/t/rails-ed-il-riciclo-delle-variabili/117489/3 "2007-10-17T12:02:46Z")

</div>

Ciao,

Andrea R. wrote:

> mi chiedo Ã¨ possibile portarsi dietro questa variabile SENZA RISCRIVERE  
> all’interno di ogni istanza “@menu = Menu.find(:all)”?

credo che potresti usare un before\_filter, ma mi sembra e migliore di  
scrivere un helper, tipo:

def menu  
Menu.find(:all)  
end

Se messi il helper nel “application\_helper.rb”, sarÃ disponibile pur  
tutti i view.

Ciao,  
Daniel

–  
Daniel H.  
removed\_email\_address@domain.invalid  
Net7 [http://www.netseven.it/](http://www.netseven.it/)

Discovery Project

> **[Discovery Project - The Discovery Project: Philosophy in the Digital Era?](http://www.discovery-project.eu/home.html)**
>
> symfony project

Bring Rails to Italy!  
[http://www.railstoitaly.org/](http://www.railstoitaly.org/)

---

<div class="post-metadata">

**Author:** ![reis](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/f1d935/32.png) [@reis](https://www.ruby-forum.com/u/reis)\
**Post date:** [October 17, 2007, 12:53pm UTC](https://www.ruby-forum.com/t/rails-ed-il-riciclo-delle-variabili/117489/4 "2007-10-17T12:53:57Z")

</div>

Ciao Daniel,  
Innanzi tutto grazie per la risposta…

> credo che potresti usare un before\_filter, ma mi sembra e migliore di  
> scrivere un helper, tipo:
> 
> def menu  
> Menu.find(:all)  
> end

Ma gli helper non funzionano al contrario? nel senso che gli passi una  
variabile e loro ti producono codice?

helper(@variabile)

Se creo un helper che Ã¨ in se stesso una variabile poi come lo richiamo?

l’idea Ã¨ bella e pulita… ma capisco come applicarla in pratica ☹

---

<div class="post-metadata">

**Author:** ![reis](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/f1d935/32.png) [@reis](https://www.ruby-forum.com/u/reis)\
**Post date:** [October 17, 2007, 1:16pm UTC](https://www.ruby-forum.com/t/rails-ed-il-riciclo-delle-variabili/117489/5 "2007-10-17T13:16:03Z")

</div>

Ciao,

> Ma gli helper non funzionano al contrario? nel senso che gli passi una  
> variabile e loro ti producono codice?
> 
> helper(@variabile)
> 
> Se creo un helper che Ã¨ in se stesso una variabile poi come lo richiamo?
> 
> l’idea Ã¨ bella e pulita… ma capisco come applicarla in pratica ☹

Si, di solito gli helper sono usato per creare codice, in quel caso  
restituiscono gli string. Per esempio:

\<%= render(…) %\>

→ render restituisce uno string, e lo string e messo nel template.

PerÃ², gli helper sono semplice methodi, e possono restituire ogni tipi  
di oggetti. Quindi, se hai questo helper “method”, puoi fare:

\<% for this\_menu in menu %\>

→ “menu” restituisce una collezione che puoi usare nel “for”

Ciao,  
Daniel

–  
Daniel H.  
removed\_email\_address@domain.invalid  
Net7 [http://www.netseven.it/](http://www.netseven.it/)

Discovery Project

> **[Discovery Project - The Discovery Project: Philosophy in the Digital Era?](http://www.discovery-project.eu/home.html)**
>
> symfony project

Bring Rails to Italy!  
[http://www.railstoitaly.org/](http://www.railstoitaly.org/)
