[ruby-it] Rails: variabili globali troppo globali
Tucano
tucano a recipient.cc
Mer 4 Mar 2009 18:28:45 CET
Intervento da niubbo....
perche' non si usa in questo caso:
flash[:foo] = bar ?
ciao
Il giorno 03/mar/09, alle ore 19:31, Paolo Montrasio ha scritto:
> Alessandro Scolavino wrote:
>> Io lo uso quasi sempre, in pratica genera una tabella nuova e ci
>> salva
>> dentro i dati della session, molto comodo e molto veloce (e
>> sopratutto
>> ti puoi portare dietro grossi moli di dati)
>>
>>> config.action_controller.session_store = :active_record_store
>>>
>>> dentro config/environments.rb, per� non ho mai provato, non so
>>> come
>>> funziona.
>
> Attenzione però alle race conditions tra chiamate diverse dello
> stesso
> browser. Sono comuni quando ci sono applicazioni ajax che vanno a
> cambiare dati in sessione e se non si sa che possono capitare si
> impazzisce per giorni a cercare misteriosi bug che fanno sparire i
> dati
> appena memorizzati in session[].
>
> In due parole: la chiamata ajax 1 inizia a fare operazione e a
> scrivere
> dati in sessione, la chiamata ajax 2 inizia anche lei a lavorare e
> finisce prima della 1; quando la 1 finisce va a memorizzare la sua
> sessione sovrascrivendo qualsiasi cosa la 2 abbia fatto.
>
> Per rimediare al problema esiste una variante di active_record_store
> che
> si chiama SmartSessionStore. La uso da un paio d'anni con
> soddisfazione
> anche se ricordo di averla customizzata un po' (ma non il perché)
>
> http://svn1.hosted-projects.com/fcheung/smart_session_store/trunk/
>
> Meglio ancora è evitare di usare la sessione se non per dati molto
> piccoli e in situazioni che non abbiano race conditions. Solo che
> all'inizio della mia esperienza in Rails venivo da Java dove in
> sessione
> si infila di tutto. Ora non lo faccio più :-)
>
> Paolo
> --
> Posted via http://www.ruby-forum.com/.
> _______________________________________________
> Ml mailing list
> Ml a lists.ruby-it.org
> http://lists.ruby-it.org/mailman/listinfo/ml
More information about the Ml
mailing list