reis
1
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
reis
2
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
reis
3
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.
[email protected]
Net7 http://www.netseven.it/
Discovery Project
Bring Rails to Italy!
http://www.railstoitaly.org/
reis
4
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 
reis
5
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.
[email protected]
Net7 http://www.netseven.it/
Discovery Project
Bring Rails to Italy!
http://www.railstoitaly.org/