Model Structure in Rails
我对 Rails 比较陌生,我正在尝试为我的应用程序找出理想的模型结构,这是一个简单的家庭维护提醒服务。应用中的中心模型是 Home。
每个家庭都有很多电器(例如洗碗机、洗衣机、热水器等)。
每个设备都有一组与之相关的提醒(即,如果您有热水器,则必须每 3 个月执行一次 XYZ,每 6 个月执行一次 ABC)。
会定期(每月/每周)向房主发送一封包含所有提醒清单的邮件。
我正在尝试为此找出最佳模型结构。
现在,这些是我的模型,但我不知道这是否矫枉过正?
- 家(地址、邮政编码等)
- 电器(名称、制造商)
- 提醒(Appliance_ID、提醒、频率)
- 家用电器(Home_ID、Appliance_ID)
- HomeReminders (Home_ID, Reminder_ID)
协会:
- 首页 has_many HomeAppliances
- 设备 has_many 提醒
- 首页 has_many HomeReminders
感谢任何帮助。
我会选择不那么复杂的东西。您需要三个模型:
1 2 3 4 5 6 7 8 9 10 11 12 13 | class Home < ActiveRecord::Base has_many :appliances has_many :reminders, :through => :appliances end class Appliance < ActiveRecord::Base belongs_to :home has_many :reminders end class Reminder < ActiveRecord::Base belongs_to :appliance end |
请注意,我们使用
有关
在您的原始示例中,您似乎希望将各种预定义的设备存储在数据库中以供参考。我会做不同的事情。拥有一个包含各种品牌和型号的配置文件,您可以使用这些配置文件来填充用户在设置其设备详细信息时使用的表单上的下拉菜单。然后您可以跳过额外的模型并如上所述简化事情。