2010-05-04 3 views
8

Sto prendendo in considerazione lo sviluppo di un'applicazione che utilizza Ruby on Rails che è un pianificatore di sorta. Vorrei dare a un utente la possibilità di visualizzare un elenco di giorni, fare clic su un giorno particolare e quindi aggiungere cose come: pasti, spese, eventi, cose da fare ed esercizi. Davvero lo sto facendo per me e per la mia famiglia in crescita.Creazione di un'applicazione Calendario/Planner - Ruby on Rails

Sono curioso di come implementarlo al meglio. Posso certamente vedere che i pasti, le spese, ecc. Devono appartenere a: utente, ma sono curioso di sapere come implementare this_app: giorno o qualcosa del genere. L'utilizzo di created_at o updated_at non mi consente necessariamente di fornire viste per date future.

Posso vedere come se avessi creato una tabella Giorni e poi aggiunto giorni tramite un campo di data e ora che ciò avrebbe funzionato, ma sembra un po 'strano chiedere alle persone di creare i giorni effettivi.

O forse invece che potrei semplicemente creare collegamenti a variabili che cercano @today, @tomorrow, ma questo sarebbe disordinato.

Ho cercato gemme/plugin ma non riesco a trovarne uno che funzioni. Idealmente una persona sarebbe in grado.

Qualcuno ha qualche idea su come implementare qualcosa di simile?

risposta

6

Esistono numerosi calendari di Rails esistenti, ad esempio http://github.com/elevation/event_calendar o http://github.com/topfunky/calendar%5Fhelper.

Tuttavia, per rispondere alla tua domanda specifica sulle date: non penso che sia necessario avere Day come modello; date semplicemente ad ogni evento una data e un'ora di inizio e una data e ora di fine. Ricorda che Ruby facilita la ricerca in base agli intervalli, quindi "concedimi tutti gli eventi della prossima settimana" è un gioco da ragazzi se ogni evento ha date e orari associati.

+0

https://github.com/austinthecoder/cal è anche una bella gemma per aiutare a rendere i calendari. – Austin

1

Vorrei aggiungere un modello chiamato "Eventi" e avere una proprietà del modello per rappresentare la data/ora di inizio, la data e l'ora di fine. Non penso che tu abbia bisogno di un modello Days, puoi generare la tua vista del calendario dalla classe Date incorporata in ruby.

4

Gli darò uno scatto ...

Due tavoli; utenti ed eventi. Un utente ha molti eventi e un evento appartiene a un utente. Pasto, Spese, ecc. Sono vari tipi di Evento. All'interno degli eventi, puoi avere campi per l'ora di inizio e di fine degli eventi. Se necessario (diciamo che gli eventi durano più giorni), è possibile rimuovere il giorno/ora in cui gli eventi si verificano nella propria tabella.

In questo modo, quando si visualizza il calendario per un utente, è possibile trovare tutti gli eventi per quella data. Se nessuno viene trovato, quindi non visualizza nulla.

Cosa ne pensi?

1

Ho fatto lo stesso tipo di progetto per la gestione degli eventi nell'istituto di formazione. A quel punto ho usato event_calender plug-in con rail. (enter link description here)
Qui è necessario solo creare il modello di evento. Quindi possiamo facilmente lavorare con quello.