salve
è da poco che programmo in ruby on rails
vi spiego il mio problema
ho un sito con un carrello in cui metto gli oggetti in vendita
il carrello è una classe a cui è associato un vettore di items che
contengono le varie quantità di oggetti ordinati e il loro nome
io ho poi una classe prodotti che è un activerecord con un campo
disponibilitÃ
quando aggiungo un prodotto al carrello la disponibilità di prodotti
viene decrementata
ora se svuoto il carrello a mano posso andare a reincrementare la
disponibilità dei prodotti,
ma se chiudo il browser con il carrello che contiene degli oggetti
questo viene svuotato ma la disponibilità degli oggetti non viene
reincrementata…c’è un modo per ‘intercettare’ la chiusura del browser?
oppure una specie di distruttore della classe carrello in cui possa
scrivere il codice per reincrementare la disponibilità ?
grazie a tutti
Alessandro Mattioli wrote:
salve
è da poco che programmo in ruby on rails
vi spiego il mio problema
ho un sito con un carrello in cui metto gli oggetti in vendita
il carrello è una classe a cui è associato un vettore di items che
contengono le varie quantità di oggetti ordinati e il loro nome
io ho poi una classe prodotti che è un activerecord con un campo
disponibilitÃ
quando aggiungo un prodotto al carrello la disponibilità di prodotti
viene decrementata
ora se svuoto il carrello a mano posso andare a reincrementare la
disponibilità dei prodotti,
ma se chiudo il browser con il carrello che contiene degli oggetti
questo viene svuotato ma la disponibilità degli oggetti non viene
reincrementata…c’è un modo per ‘intercettare’ la chiusura del browser?
oppure una specie di distruttore della classe carrello in cui possa
scrivere il codice per reincrementare la disponibilità ?
grazie a tutti
Quello che devi controllare e’ la session , che va in timeout
una volta che il browser e’ stato chiuso e non ci sono piu’
attivita’ da parte dell’ utente
puoi salvarti in sessione l’id del carrello , quando la sessione muore
sai quale carrello devi svuotare
Simone R. wrote:
Quello che devi controllare e’ la session , che va in timeout
una volta che il browser e’ stato chiuso e non ci sono piu’
attivita’ da parte dell’ utente
puoi salvarti in sessione l’id del carrello , quando la sessione muore
sai quale carrello devi svuotare
Il principio è quello, ma bada bene che questo non è un’operazione che
puoi fare da controller, perché il browser chiuso (o la connessione
internet caduta!) non manderà richieste al server
Hai bisogno di un programma che giri ogni tanto e che verifichi la data
delle ultime richieste fatte dagli utenti. Devi essertele però segnate
nel db, magari con un before_filter in ApplicationController.
Tra l’altro per un’operazione del genere è possibile che uno script sql
sia sufficiente, senza dover far partire un programma ruby con
script/runner o cose del genere.
Paolo
mmh…
mi sembra di aver capito quello che mi dite…
ma se io in application.rb aggiungo la riga
sesson_times_out_in 5.minutes
fa quello che ho bisogno io?
il problema però rimane…
come faccio a aggiornare il mio database una volta che l’app è bella che
terminata?
Alessandro Mattioli wrote:
mmh…
mi sembra di aver capito quello che mi dite…
ma se io in application.rb aggiungo la riga
sesson_times_out_in 5.minutes
fa quello che ho bisogno io?
il problema però rimane…
come faccio a aggiornare il mio database una volta che l’app è bella che
terminata?
mi auto quoto…c’è un metodo o un evento di application.rb o simile che
viene chiamato alla terminazione dell’applicazione?
e uno all’inizio?