使用不同重要属性集排列对象和模型的最佳方法

时间:2011-10-07 21:23:03

标签: ruby-on-rails rails-activerecord

假设我有一些医疗软件可以跟踪患者的账单和医疗程序。然后每个患者都有三组重要的属性。

  1. 共享属性 - 姓名,年龄,性别,患者人数等。
  2. 结算属性 - 地址,帐号,余额等
  3. 医疗属性 - 血压,手术,血型等
  4. 我有一个具有上述所有属性的ActiveRecord Patient模型。然后,我可以使用PatientBillingDetails控制器和PatientMedicalDetails控制器来区分这两者。我是否还应创建两个模型以对应每个控制器,或者只让每个控制器从单个Patient模型中抽取。如果创建两个新模型,那么让它们仅使用适当属性的最佳/最简单方法是什么?

1 个答案:

答案 0 :(得分:0)

要直接回答您的问题,而Rails教程喜欢将信息封装到一个模型的一个控制器中,我在Rails中编写大型企业应用程序的5年经验告诉我,您构建的控制器与您需要的视图相关显示,而不是与模型的一对一关系。因此,为患者模型的每个方面创建多个控制器似乎更为明智。

然而,在我看来,真正的问题是你的患者模型因为尝试一次做太多事而过载。我建议你将一些信息标准化到他们自己的模型中 - 特别是在你可能需要“有很多”关系的地方,比如不同日期记录的医疗属性。

为了给出更好的答案,我需要更多关于您的软件尝试做什么的信息,特别是您正在尝试编写的“医疗软件”类别,以及这是否是专业的辅助实用程序目的或通用EHR或医疗账单申请。