Problemi di sessione

ciao a tutti,
Ho un piccolo problemino da porvi:
stavo leggendo il libro “sviluppare applicazioni web con Rails” (ottimo
libro, finora), e nel frattempo che andavo avanti, procedevo a scrivere
il codice di esempio che veniva discusso, cioè un negozio e-commerce
basato su Rails.

Ora, ad un certo punto, si fà riferimento alle sessioni, utilizzate per
tenere tra una request e l’altra l’oggetto Carrello.
Il problema è che non riesco a far tenere in sessione questo oggetto
Carrello.

Se volete pasto tutto il codice, ma se qualcuno ci è già passato,
eviterei volentieri di “pastare” il tutto.

grazie

//\ariano Di Felice
Java PHP Python programmer
with MySQL, PostgreSql, SQLite and Oracle support
Linux Platform Developer
[email protected]
Tel. 0735 703735
Cell +39 339 6407211

NO ai brevetti software! http://www.nosoftwarepatents.com

Nota di riservatezza:
Il presente messaggio, corredato dei relativi allegati contiene
informazioni da considerarsi strettamente riservate, ed è destinato
esclusivamente al destinatario sopra indicato, il quale è l’unico
autorizzato ad usarlo, copiarlo e, sotto la propria responsabilità ,
diffonderlo. Chiunque ricevesse questo messaggio per errore o comunque
lo leggesse senza esserne legittimato è avvertito che trattenerlo,
copiarlo, divulgarlo, distribuirlo a persone diverse dal destinatario è
severamente proibito, ed è pregato di rinviarlo immediatamente al
mittente distruggendo l’originale.

Confidentiality Notice:
This message, together with its annexes, contains information to be
deemed strictly confidential and is destined only to the addressee(s)
identified above who only may use, copy and, under his/their
responsibility, further disseminate it. If anyone received this message
by mistake or reads it without entitlement is forewarned that keeping,
copying, disseminating or distributing this message to persons other
than the addressee(s) is strictly forbidden and is asked to transmit it
immediately to the sender and to erase the original message received.

Cosa succede, ti da un errore? Riesci a vedere i file delle sessione
in /tmp o sono nel db?

Rob C. ha scritto:

//\ariano Di Felice
Il presente messaggio, corredato dei relativi allegati contiene
identified above who only may use, copy and, under his/their
Ml mailing list
[email protected]
http://lists.ruby-it.org/mailman/listinfo/ml


Ml mailing list
[email protected]
http://lists.ruby-it.org/mailman/listinfo/ml

Beh, di errori non ne vedo nel terminale in cui ho fatto partire il
server, nè nella pagina web
In tmp c’è un solo file di sessione.
Facendo la prova:
127.0.0.1:3000/store → si crea un file di sessione
se provo a mettere un articolo nel carrello in sessione, nella cartella
tmp/sessions avrò ancora un unico file, ma l’elenco degli items del
carrello è sempre 0.


//\ariano Di Felice
Java PHP Python programmer
with MySQL, PostgreSql, SQLite and Oracle support
Linux Platform Developer
[email protected]
Tel. 0735 703735
Cell +39 339 6407211

NO ai brevetti software! http://www.nosoftwarepatents.com

Nota di riservatezza:
Il presente messaggio, corredato dei relativi allegati contiene
informazioni da considerarsi strettamente riservate, ed è destinato
esclusivamente al destinatario sopra indicato, il quale è l’unico
autorizzato ad usarlo, copiarlo e, sotto la propria responsabilità,
diffonderlo. Chiunque ricevesse questo messaggio per errore o comunque
lo leggesse senza esserne legittimato è avvertito che trattenerlo,
copiarlo, divulgarlo, distribuirlo a persone diverse dal destinatario è
severamente proibito, ed è pregato di rinviarlo immediatamente al
mittente distruggendo l’originale.

Confidentiality Notice:
This message, together with its annexes, contains information to be
deemed strictly confidential and is destined only to the addressee(s)
identified above who only may use, copy and, under his/their
responsibility, further disseminate it. If anyone received this message
by mistake or reads it without entitlement is forewarned that keeping,
copying, disseminating or distributing this message to persons other
than the addressee(s) is strictly forbidden and is asked to transmit it
immediately to the sender and to erase the original message received.

Forse dovresti provare a mettere dei breakpoint nella funziona store e
un’altra pagina e poi usare script/breakpointer per vedere se succede
ad accedere al session hash.

Rob C. ha scritto:

ciao a tutti,
tenere tra una request e l’altra l’oggetto Carrello.
with MySQL, PostgreSql, SQLite and Oracle support
esclusivamente al destinatario sopra indicato, il quale è l’unico
identified above who only may use, copy and, under his/their


tmp/sessions avrò ancora un unico file, ma l’elenco degli items del


Ml mailing list
[email protected]
http://lists.ruby-it.org/mailman/listinfo/ml


Ml mailing list
[email protected]
http://lists.ruby-it.org/mailman/listinfo/ml

Beh, diciamo che qualche debug a destra e a manca l’ho già messo nei
controllers, e si evince che ogni volta che si passa per il metodo @cart
= (session[:cart] || Cart.new ) viene creata sempre una nuova istanza di
Cart.
Sto disperato perchè nel libro non c’è alcun appunto al riguardo di
questo problema, ed in giro non ho trovato nulla…


//\ariano Di Felice
Java PHP Python Ruby programmer
with MySQL, PostgreSql, SQLite and Oracle support
Linux Platform Developer
[email protected]
Tel. 0735 703735
Cell +39 339 6407211

NO ai brevetti software! http://www.nosoftwarepatents.com

Nota di riservatezza:
Il presente messaggio, corredato dei relativi allegati contiene
informazioni da considerarsi strettamente riservate, ed è destinato
esclusivamente al destinatario sopra indicato, il quale è l’unico
autorizzato ad usarlo, copiarlo e, sotto la propria responsabilità,
diffonderlo. Chiunque ricevesse questo messaggio per errore o comunque
lo leggesse senza esserne legittimato è avvertito che trattenerlo,
copiarlo, divulgarlo, distribuirlo a persone diverse dal destinatario è
severamente proibito, ed è pregato di rinviarlo immediatamente al
mittente distruggendo l’originale.

Confidentiality Notice:
This message, together with its annexes, contains information to be
deemed strictly confidential and is destined only to the addressee(s)
identified above who only may use, copy and, under his/their
responsibility, further disseminate it. If anyone received this message
by mistake or reads it without entitlement is forewarned that keeping,
copying, disseminating or distributing this message to persons other
than the addressee(s) is strictly forbidden and is asked to transmit it
immediately to the sender and to erase the original message received.

premesso che non so nulla di Rails, non so se centra ma ||= preserva la
variabile esistente se non nil… mentre solo = va a sovrascrivere. è
possibile che qualcosa vada perduto?

On 6/6/06, Rob C. [email protected] wrote:

On 06/06/06, Mariano Di Felice [email protected] wrote:

libro, finora), e nel frattempo che andavo avanti, procedevo a
Carrello.
[email protected]
responsabilità,
diffonderlo. Chiunque ricevesse questo messaggio per errore o
addressee(s)
received.
http://lists.ruby-it.org/mailman/listinfo/ml
In tmp c’è un solo file di sessione.
with MySQL, PostgreSql, SQLite and Oracle support
esclusivamente al destinatario sopra indicato, il quale è l’unico
identified above who only may use, copy and, under his/their

Beh, diciamo che qualche debug a destra e a manca l’ho già messo nei
Linux Platform Developer
autorizzato ad usarlo, copiarlo e, sotto la propria responsabilità,
diffonderlo. Chiunque ricevesse questo messaggio per errore o comunque
copying, disseminating or distributing this message to persons other
Ml mailing list
[email protected]
http://lists.ruby-it.org/mailman/listinfo/ml


Chiaroscuro

Liquid Development: http://liquiddevelopment.blogspot.com/

Rob C. ha scritto:

Rob C. ha scritto:
scrivere

Tel. 0735 703735
comunque
identified above who only may use, copy and, under his/their

http://lists.ruby-it.org/mailman/listinfo/ml
In tmp c’è un solo file di sessione.
with MySQL, PostgreSql, SQLite and Oracle support
esclusivamente al destinatario sopra indicato, il quale è l’unico
identified above who only may use, copy and, under his/their

with MySQL, PostgreSql, SQLite and Oracle support
esclusivamente al destinatario sopra indicato, il quale è l’unico
by mistake or reads it without entitlement is forewarned that keeping,


Ml mailing list
[email protected]
http://lists.ruby-it.org/mailman/listinfo/ml

Facciamo così, se volete:
chi vuole darmi una mano ad uscire da questo baratro, può mandarmi
un’email a marianodifelicegmailcom
e sarò ben felice di mandargli il lavoro che ho svolto finora…

grazie infinite


//\ariano Di Felice
Java PHP Python programmer
with MySQL, PostgreSql, SQLite and Oracle support
Linux Platform Developer
[email protected]
Tel. 0735 703735
Cell +39 339 6407211

NO ai brevetti software! http://www.nosoftwarepatents.com

Nota di riservatezza:
Il presente messaggio, corredato dei relativi allegati contiene
informazioni da considerarsi strettamente riservate, ed è destinato
esclusivamente al destinatario sopra indicato, il quale è l’unico
autorizzato ad usarlo, copiarlo e, sotto la propria responsabilità,
diffonderlo. Chiunque ricevesse questo messaggio per errore o comunque
lo leggesse senza esserne legittimato è avvertito che trattenerlo,
copiarlo, divulgarlo, distribuirlo a persone diverse dal destinatario è
severamente proibito, ed è pregato di rinviarlo immediatamente al
mittente distruggendo l’originale.

Confidentiality Notice:
This message, together with its annexes, contains information to be
deemed strictly confidential and is destined only to the addressee(s)
identified above who only may use, copy and, under his/their
responsibility, further disseminate it. If anyone received this message
by mistake or reads it without entitlement is forewarned that keeping,
copying, disseminating or distributing this message to persons other
than the addressee(s) is strictly forbidden and is asked to transmit it
immediately to the sender and to erase the original message received.

Nel mio controller ho ||= invece di || ma non credo che sia quella il
problema.

prova con ‘||=’

@cart = (session[:cart] ||= Cart.new)

e se non funziona mandami un file zip

Molto bene! Nel .pdf è con l’ugale…

Rob C. ha scritto:

Cosa succede, ti da un errore? Riesci a vedere i file delle
scrivere

Tel. 0735 703735
comunque
deemed strictly confidential and is destined only to the
immediately to the sender and to erase the original message

http://lists.ruby-it.org/mailman/listinfo/ml
del


copiarlo, divulgarlo, distribuirlo a persone diverse dal
message


[email protected]


transmit it



This message, together with its annexes, contains information to be
Ml mailing list
[email protected]
http://lists.ruby-it.org/mailman/listinfo/ml


Ml mailing list
[email protected]
http://lists.ruby-it.org/mailman/listinfo/ml

Porca miseriaccia!! hai ragione! era proprio quel ||=, mi mancava
l’uguale…
Mmmm, allora le cose sono 2:

  1. ho sbagliato a copiare ( il che è abbastanza grave :cry: )
  2. c’è un errore di stampa nel libro

Cmq sia, meglio
così!grazie tante, ora la sessione va


//\ariano Di Felice
Java PHP Python Ruby programmer
with MySQL, PostgreSql, SQLite and Oracle support
Linux Platform Developer
[email protected]
Tel. 0735 703735
Cell +39 339 6407211

NO ai brevetti software! http://www.nosoftwarepatents.com

Nota di riservatezza:
Il presente messaggio, corredato dei relativi allegati contiene
informazioni da considerarsi strettamente riservate, ed è destinato
esclusivamente al destinatario sopra indicato, il quale è l’unico
autorizzato ad usarlo, copiarlo e, sotto la propria responsabilità,
diffonderlo. Chiunque ricevesse questo messaggio per errore o comunque
lo leggesse senza esserne legittimato è avvertito che trattenerlo,
copiarlo, divulgarlo, distribuirlo a persone diverse dal destinatario è
severamente proibito, ed è pregato di rinviarlo immediatamente al
mittente distruggendo l’originale.

Confidentiality Notice:
This message, together with its annexes, contains information to be
deemed strictly confidential and is destined only to the addressee(s)
identified above who only may use, copy and, under his/their
responsibility, further disseminate it. If anyone received this message
by mistake or reads it without entitlement is forewarned that keeping,
copying, disseminating or distributing this message to persons other
than the addressee(s) is strictly forbidden and is asked to transmit it
immediately to the sender and to erase the original message received.

hmm l’ho comprato dal sito
(http://www.pragmaticprogrammer.com/titles/rails/index.html) quando
era ancora in beta… adesso c’è anche la beta della “second edition”
– lo compro o no?!

Rob C. ha scritto:

Molto bene! Nel .pdf è con l’ugale…

Come nel .pdf??? ho comprato il libro perchè non ho l’ho trovato in
pdf… dove l’hai trovato??


//\ariano Di Felice
Java PHP Python Ruby programmer
with MySQL, PostgreSql, SQLite and Oracle support
Linux Platform Developer
[email protected]
Tel. 0735 703735
Cell +39 339 6407211

NO ai brevetti software! http://www.nosoftwarepatents.com

Nota di riservatezza:
Il presente messaggio, corredato dei relativi allegati contiene
informazioni da considerarsi strettamente riservate, ed è destinato
esclusivamente al destinatario sopra indicato, il quale è l’unico
autorizzato ad usarlo, copiarlo e, sotto la propria responsabilità,
diffonderlo. Chiunque ricevesse questo messaggio per errore o comunque
lo leggesse senza esserne legittimato è avvertito che trattenerlo,
copiarlo, divulgarlo, distribuirlo a persone diverse dal destinatario è
severamente proibito, ed è pregato di rinviarlo immediatamente al
mittente distruggendo l’originale.

Confidentiality Notice:
This message, together with its annexes, contains information to be
deemed strictly confidential and is destined only to the addressee(s)
identified above who only may use, copy and, under his/their
responsibility, further disseminate it. If anyone received this message
by mistake or reads it without entitlement is forewarned that keeping,
copying, disseminating or distributing this message to persons other
than the addressee(s) is strictly forbidden and is asked to transmit it
immediately to the sender and to erase the original message received.