处理在Rails中与同一模型交互的多个表单

时间:2013-11-25 06:17:08

标签: ruby-on-rails ruby database activerecord model

我有一个处理“病人”的应用程序。每个患者最初都会有三种形式。每个表格都有相关的问题,但它们也有差异,因此它们不能是相同的形式。每个答案,即使是针对同一个问题,也必须进行记录和存档。此外,需要对每个填写的表单进行版本控制。例如,如果患者“史蒂夫”在“10月5日”填写“表格1”,并且第二天从表格中删除了一个问题,我仍然需要提出史蒂夫在表格1上填写的问题。现在我有四个模型我认为可以解决这个问题:

患者:first_name,last_name

表格:名称,版本

form_response:patient_id,form_id

问题:content,form_id

答案:回复,question_id,form_response_id

这是映射此数据集的最佳方式吗?还有,这一切都应该通过患者模型来处理吗?如果没有,应该使用什么类型的模型结构来处理这个问题?我真的很困惑如何最好地处理这种情况,应该去哪里,而不是最终需要维护一堆代码。提前感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

你有正确的想法。从顶部开始:

<强>形式

  • has_many questions

<强>问题

  • belongs_to form
  • has_many answers

<强>答案

  • belongs_to question
  • belongs_to response

然后将它与响应结合在一起:

<强>响应

  • belongs_to病人
  • belongs_to form

答案 1 :(得分:0)

我建议查看表单对象以使其更容易。您可能想要结帐:

Form-backing objects for fun and profit

Rails Form Objects

Form Objects

相关问题