我對Rails比較陌生,我試圖弄清楚我的應用程序的理想模型結構,這是一個簡單的家庭維護提醒服務。應用程序的中心模型是一個主頁。Rails中的模型結構
每個家庭有很多設備(如洗碗機,洗衣機,熱水器等)。
每臺設備都有一組與其相關的提醒(即,如果您有熱水器,則必須每3個月執行一次XYZ,每6個月執行一次ABC)。
定期(每月/每週),有一封郵件發送給房主,並列出所有提醒。
我想弄清楚這個最好的模型結構。
現在,這些是我有的模型,但我不知道這是否過度殺傷?
- 首頁(地址,郵政編碼等)
- 電器(名稱,生產商)
- 提醒(APPLIANCE_ID,提醒,頻率)
- HomeAppliance(HOME_ID,APPLIANCE_ID)
- HomeReminders(HOME_ID ,Reminder_ID)
的關聯:
-
個
- 首頁的has_many HomeAppliances
- 電器的has_many提醒
- 首頁的has_many HomeReminders
任何幫助表示讚賞。
謝謝,這是我最初的想法,但不會導致數據庫中有太多重複的信息?例如,如果主頁有多個設備,則設備表將爲每個主頁設置多行,每行包含有關設備的詳細信息。此外,如果設備具有多個提醒,每個設備的提醒信息將在提醒表的每一行中重複。每個提醒都可以包含一段信息。我正在考慮對這種建模進行類似於如何在這些用戶之間建模「關係」的方法:http://goo.gl/UofDw。思考? – tarunsachdeva 2012-04-28 17:51:51
這就是爲什麼我創建了一個類似於家庭(HomeAppliance和HomeReminder)的「關係」的模型。 – tarunsachdeva 2012-04-28 17:52:58
如果您擔心由於重複造成的空間不足,那麼是的,爲家庭 - >設備映射添加查找表是個不錯的主意。我仍然使用has_many:through關係來避免使用關係查找表,假設它所做的全部都是將設備映射到提醒。 – 2012-04-28 20:06:54