[ruby-it] Variabili da richiamare in tutti i controller
Pietro Giorgianni
giorgian a gmail.com
Gio 17 Dic 2009 21:00:00 CET
Il 17 dicembre 2009 20.20, Luigi Maresca <marluigi a libero.it> ha scritto:
> Devono valere per l'applicazione, quindi sempre e mi servono per
> definire una sola volta in un solo punto dell'applicazioni il numero di
> articoli da visualizzare, ad esempio.
>
> Quindi nel controller view vorrei poter richiamare la variabile:
>
> @num_articoli=14
>
> da utilizzare anche in altri controller.
Ciao,
Non è possibile usare semplicemente una variabile che valga tra una
request e l'altra: un'applicazione web "vive" solamente nell'arco di
un singolo ciclo di richiesta/risposta.
Ci sono principalmente due modi per ottenere la persistenza dei dati:
cookie e db.
usando i cookie, ad esempio tramite la session:
session[:num_articoli] = 14
In questo modo la variabile è specifica per ogni sessione, cioè per
ogni utente e per ogni browser.
Se però vuoi che la variabile sia unica per tutta l'applicazione,
oppure per ogni utente ma con tutti i browser, devi ricorrere al db
(potresti anche usare un file, ma ne avresti solo problemi).
In base a chi deve condividere la variabile, puoi aggiungere un campo
ad una tabella (ad esempio utenti, o profili, o altro) e farlo gestire
normalmente al model relativo.
So che sono molto vago, ma se ci dai altri dettagli, provo a essere
più specifico.
pietro
More information about the Ml
mailing list