Sto riscontrando un problema con l'utilizzo delle variabili di sessione. Ho due controller chiamati 'graduate_students_controller' e 'current_students_controller'. Ognuno di questi controller controlla diversi file di visualizzazione. Sto usando le variabili di sessione con entrambi questi controller per memorizzare le informazioni di sessione.Rails: come è possibile accedere alle variabili di sessione utilizzando più controller?
Ecco il problema. Diciamo che ho due rapporti di file 'report/current_students_list', 'reports/graduate_students_list' ciascuno controllato separatamente dai controller sopra menzionati.
Ora, se provo ad aprire queste due pagine web all'interno del browser stesso e cercare di lavorare con loro contemporaneamente, ottengo l'errore 'nil accesso agli oggetti' dalla pagina in primo luogo caricato. L '"oggetto nullo" si riferisce a una variabile di sessione a cui si suppone che la prima pagina acceda. Tuttavia, quando utilizzo individualmente una di queste due applicazioni Web, funzionano correttamente.
Così la sua a me sembra che le variabili di sessione del web app in primo luogo caricato. vengono sovrascritti dall'app Web caricata in secondo luogo. forse perché la seconda pagina memorizza un nuovo cookie rispetto al primo?
Come posso risolvere questo problema?
Qualsiasi suggerimento è molto apprezzato.
Per chiarire un po 'di più: I due controller appartengono alla stessa applicazione Rails. E non sto usando identici nomi di variabili di sessione all'interno di entrambi i controller. Quindi io non riesco a vedere il motivo per cui essi possono essere sovrascritte
Sono nuovo di rotaie e mi sarebbe davvero apprezzare un certo aiuto con questo problema. Grazie.
Con quale versione di Rails stai lavorando? Inoltre, questi controller sono entrambi nella stessa app Rails o in diverse app? –
Ciao John, Sto usando la versione di rails 2.2.2. E la mia versione gemme specificata nel mio environment.rb è la seguente: ----------- # Specifica la versione gemma di Rails da utilizzare quando il fornitore/rotaie non è presente RAILS_GEM_VERSION = '1.2.3 'se non definito? RAILS_GEM_VERSION --------------- (non sto usando una versione più recente sulla mia macchina locale al momento come queste sono le impostazioni correnti sul nostro server di produzione. E voglio testare il mio app secondo loro) sì, questi controller e file di visualizzazione appartengono alla stessa app Rails. Quindi qualche idea su cosa sta causando questo problema? Grazie John – Vicer
Giusto per chiarire, le variabili di sessione a cui questi due controllori stanno accedendo non hanno nomi comuni.Quindi non c'è motivo per la sovrascrittura di una variabile di sessione, a meno che la seconda pagina web caricata non stia memorizzando un nuovo cookie su quello esistente (quello che ha memorizzato la prima pagina)? Questa è l'unica ragione logica a cui riesco a pensare. Ma come puoi aggiustare qualcosa del genere? qualcuno ha incontrato una situazione simile prima? – Vicer