[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