2010-05-04 6 views
8

Ich überlege mir, eine Anwendung mit Ruby on Rails zu entwickeln, die eine Art Planer ist. Ich möchte einem Benutzer die Möglichkeit geben, eine Liste von Tagen anzuzeigen, auf einen bestimmten Tag zu klicken und dann Dinge wie Mahlzeiten, Ausgaben, Ereignisse, Todos und Übungen hinzuzufügen. Wirklich mache ich das für mich und meine wachsende Familie.Erstellen einer Kalender/Planer-Anwendung - Ruby on Rails

Ich bin neugierig, wie dies am besten zu implementieren ist. Ich kann sicherlich sehen, dass Mahlzeiten, Ausgaben usw. gehören müssen: Benutzer, aber ich bin neugierig, wie man den Tag "goes_to:" oder etwas ähnliches implementiert. Die Verwendung von created_at oder updated_at würde es mir nicht unbedingt erlauben, Ansichten für zukünftige Daten bereitzustellen.

Ich kann sehen, wenn ich eine Days-Tabelle erstellt und dann Tage durch ein Datums- und Uhrzeitfeld hinzugefügt, dass dies funktionieren würde, aber scheint ein wenig seltsam zu fragen, die tatsächlichen Tage zu erstellen.

Oder vielleicht könnte ich stattdessen Links zu Variablen erstellen, die nach @ today, @ tomorrow suchen, aber das würde chaotisch werden.

Ich habe nach Edelsteinen/Plugins gesucht, kann aber keine finden, die funktioniert. Im Idealfall wäre eine Person in der Lage.

Hat jemand irgendwelche Gedanken, wie man so etwas implementiert?

Antwort

6

Es gibt eine Reihe von vorhandenen Rails-Kalendern, z. B. http://github.com/elevation/event_calendar oder .

Um jedoch Ihre spezifische Frage zu Daten zu beantworten: Ich denke nicht, dass Day als Modell benötigt wird; Geben Sie jedem Ereignis ein Startdatum und eine Startzeit sowie ein Enddatum und eine Endzeit. Denken Sie daran, dass Ruby die Suche anhand von Bereichen vereinfacht. Wenn Sie also alle Ereignisse in der nächsten Woche erhalten, ist das ein Kinderspiel, wenn für jedes Ereignis Daten und Zeiten zugeordnet sind.

+0

https://github.com/austinthecoder/cal ist auch ein nettes Juwel, um Kalender zu rendern. – Austin

1

Ich würde ein Modell namens "Ereignisse" hinzufügen und haben eine Eigenschaften des Modells, um Startdatum/Uhrzeit, Enddatum/Uhrzeit darzustellen. Ich glaube nicht, dass Sie ein Days-Modell benötigen, Sie können Ihre Kalenderansicht aus der in Ruby integrierten Date-Klasse generieren.

4

Ich gebe es eine Chance ...

Zwei Tabellen; Benutzer und Ereignisse. Ein Benutzer hat viele Ereignisse und ein Ereignis gehört einem Benutzer. Essen, Ausgaben usw. sind verschiedene Arten von Veranstaltungen. Innerhalb von Ereignissen können Sie Felder für die Start- und Endzeit der Ereignisse haben. Bei Bedarf (sagen wir, ein Ereignis dauert über mehrere Tage), können Sie den Tag/die Zeit, zu der Ereignisse auftreten, in seine eigene Tabelle entfernen.

Auf diese Weise können Sie bei der Anzeige des Kalenders für einen Benutzer alle Ereignisse für dieses Datum finden. Wenn keine gefunden werden, dann nichts anzeigen.

Was denkst du?

1

Ich habe die gleiche Art von Projekt für das Event-Management in Trainingsinstitut gemacht. Dort habe ich event_calander mit Schienen eingesetzt. (enter link description here)
Dort müssen wir nur Event-Modell erstellen. Dann können wir leicht damit arbeiten.