2010-05-04 42 views
8

我正在考慮開發一個使用Ruby on Rails的應用程序,這是一個排序規劃器。我想讓用戶能夠查看日期列表,點擊某個特定日期,然後添加如下內容:膳食,費用,事件,待辦事項和練習。真的,我正在爲我和我的成長家庭做這件事。創建日曆/計劃器應用程序 - Ruby on Rails

我很好奇如何最好地實現這一點。我當然可以看到,膳食,費用等需要belongs_to:用戶,但我很好奇如何實施belongs_to:或類似的東西。使用created_at或updated_at不一定允許我爲將來的日期提供視圖。

我可以看到,如果我創建了一個Days表,然後通過時間和日期字段添加了幾天,這可以工作,但似乎有點奇怪,要求人們創建實際的日子。

或者,也許而不是我可以創建鏈接到變量,搜索@today,@tomorrow,但會變得混亂。

我瀏覽過寶石/插件,但無法找到有效的工具。理想情況下,一個人能夠。

任何人有任何想法如何實現這樣的事情?

回答

6

有一些現有的Rails日曆,如http://github.com/elevation/event_calendarhttp://github.com/topfunky/calendar%5Fhelper

但是,要回答您關於日期的具體問題:我不認爲有必要將Day作爲模型;只需給每個事件一個開始日期和時間,以及結束日期和時間。請記住,Ruby可以輕鬆地根據範圍進行搜索,因此,如果每個事件都有與之相關的日期和時間,那麼「下週給我所有事件」就是一件小事。

+0

https://github.com/austinthecoder/cal也是幫助渲染日曆的不錯的寶石。 – Austin 2012-06-13 04:10:38

1

我會添加一個名爲「事件」的模型,並具有模型的屬性來表示開始日期/時間,結束日期/時間。我不認爲你需要一個Days模型,你可以從Date類生成日曆視圖內置到ruby。

4

我來試試吧......

兩張表;用戶和事件。用戶有很多事件,一個事件屬於一個用戶。膳食,費用等是各種類型的事件。在事件中,您可以擁有事件開始和結束時間的字段。如果需要(可以說一個事件持續多天),您可以將發生事件的日期/時間移除到自己的表中。

這樣,當顯示用戶的日曆時,您可以找到該日期的所有事件。如果沒有找到,則不顯示任何內容。

您認爲如何?

1

我爲培訓機構的事件管理做了同樣的項目。在那裏,我使用了rails的event_calender插件。 (enter link description here
在那裏我們只需要創建事件模型。然後,我們可以輕鬆處理。