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
Giorgio A. 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.