问题描述
我不知道如何以简洁的方式进行搜索或查询。我正在使用RoR 5和Postgresql。
情况是这样的:
我有一个制作医疗Appointment
并服用医疗Exam
的软件(例如验血)。在每个Appointment
中,患者可以选择许多ExamGroup
,它们是几个Exam
的容器。您只能为ExamGroup
个约会,而不能单独为Exam
个约会。
用户填写Appointment
表单后,管理员可以看到约会请求并生成空白Report
,该空白Exam
代表具有每个Exam
的所有参数的表单结果。因此,FormField
有许多FormField
,每个FormValues
有许多FormField
,它们代表了特定Report
中Report
的答案(这些表格是动态的,您可以为每个考试创建不同类型的字段。)
问题是我需要创建包含Appointment
和FormValue
的医学Report
,并且永远不要更改其字段。因此,例如,在某个时间点,我为具有3个ExamGroup
的{{1}}和每个Exam
有2个Exam
的{{1}}生成了FormField
。在生成Report
时,将为每个FormValue
生成空白FormField
,并且它们引用它们。因此,现在我有一张表格,显示这些考试及其参数的结果。假设我要换一门考试。我向它添加了一个新参数,然后Report
将引用一个与原始Exam
不同的Report
,因此它会显示空白字段或验证失败
我需要Reports
始终使用相同的“模板”。生成报告后,报告中将包含X个字段,并且它们永远无法更改,就像报告的“模板”现在是快照一样。如果我编辑报告,则它们的值可以更改,但不能更改。有什么好的解决办法?
我在考虑版本控制系统,但是对于我想要的版本来说可能太复杂了。我的逻辑是根据某些Report
及其ExamGroup
的版本生成Exam
,如果我更改了Exam
或ExamGroup
,新版本将被生成,并将用作未来Report
的模板,依此类推。我也读过有关序列化的信息,但是我相信如果序列化一个对象,就无法更改其值,但是我希望能够为每个检查字段(而不是其字段)编辑值。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)