Forum: Italian Ruby user group cancellazione automatica di eventi passati

Posted by Blow Giò (a-mj)
on 2009-12-26 15:13
Ciao a tutti e buon Natale!!!
Qual è il metodo più comodo per far sì che un evento inserito si
cancelli automaticamente una volta passato un giorno dalla sua data?
Spiego meglio, in pratica ho una classe "evento", con un campo
"datatime", e semplicemente vorrei che nella index degli eventi non si
vedessero più gli eventi passati(precisamente, quelli che sono passati
da più di 24 ore) se non esplicitamente richiesti dall'utente(cliccando
tipo su "eventi passati" o "archivio eventi").
Che strada devo intraprendere? L'idea sarebbe di modificare il metodo
index, creando un array di eventi passati e uno di eventi futuri, e
modificare nella view la visualizzazione: farei vedere la lista di
eventi futuri, e sotto un link "archivio eventi" che se cliccato apre
una nuova pagina (oppure mostra una div nascosta) con la lista di eventi
passati...l'idea ce l'ho però non saprei proprio cosa fare per
realizzarla..
Vi ringrazio molto
Giorgio
Posted by Andrea Pavoni (apeacox)
on 2009-12-26 15:41
(Received via mailing list)
Giorgio Arcella ha scritto:
> modificare nella view la visualizzazione: farei vedere la lista di
> eventi futuri, e sotto un link "archivio eventi" che se cliccato apre
> una nuova pagina (oppure mostra una div nascosta) con la lista di eventi
> passati...l'idea ce l'ho però non saprei proprio cosa fare per
> realizzarla..
> Vi ringrazio molto
> Giorgio
>   

se vuoi due liste nella stessa pagina, nella action 'index' potresti 
usare qualcosa del genere:

@eventi_futuri = Evento.find(:all, :conditions => ['data_evento > ?', 
Date.today])

@eventi_passati = Evento.find(:all, :conditions => ['data_evento < ?', 
Date.today])


poi nella view scorri i due array (@eventi_futuri.each do {|evento| 
...tuo codice... }) .

se invece vuoi due pagine separate, allora dovrai avere due action 
separate: gli eventi futuri li lasci nella index, quelli passati 
potresti metterli in una action 'archive' o un nome a te più congeniale.

ovviamente nel secondo caso dovrai stabilire come impostare la route che 
punta all'archivio eventi, controlla il file config/routes.rb per vedere 
alcuni esempi.

ciao e buone feste ;)
A.
Please log in before posting. Registration is free and takes only a minute.
Existing account (Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
No account? Register here.