Eh lo so ma il codice è lungo...le varibili globali le utilizzo per memorizzare delle sessioni che purtroppo vengono cancellate ogni volta che c'è un logout CAS.Non so se hai mai utilizzato RubyCAS,comunque il mio programma utilizza queste sessioni e prima di fare il logout le memorizzo in quest'array globale,poi faccio il logout cas e poi ripristino i valori delle sessioni tramite quell'array.Nel fare tutto ciò passo da un metodo all'altro all'interno di classi diverse,potrei utilizzare dei cookies ma ce ne vorrebbe uno per ogni sessione,mentre con questo array riesco a memorizzare tutto come ho fatto nell'esempio iniziale:
ip= request.remote_ip
$ripristino[ip]={rova1=> session[
rova1],
rova2=> session[
rova2],
rova3=> session[
rova3]}
...
logout cas#(che mi elimina tutte le sessioni e non so perchè.Sono in un'altra classe #comunque)
...
ip= request.remote_ip #(sono nuovamente in un'altra classe)
session[rova1]=$ripristino[ip][
rova1] #però qui poi mi dà quell'errore che dicevo prima
session[rova2]=$ripristino[ip][
rova2]
session[rova3]=$ripristino[ip][
rova3]
Utilizzo l'ip in modo che ogni utente abbia un elemento di quell'array tutto suo in cui memorizzare le proprie sessioni,se non facessi così la variabile "$ripristino" verrebbe sovrascritta a ogni accesso creandomi dei problemi.Come dicevo se volessi utilizzare dei cookies dovrei utilizzarne uno per ogni sessione,se faccio l'hash infatti il cookie si trasforma in array.