我对Ruby on Rails比较陌生。如何保存用户动态创建的表单的响应
我有一个应用程序,其中用户可以创建表格。 我已经声明用户has_many的形式和形式belongs_to用户。
此外,表单有一个嵌套模型项目代表表单的问题,允许用户使表单有多个问题。此外,项目has_many 答案所以一个问题可以有多个答案(如无线电或复选框类型的问题)。最后,答案has_many 结果允许稍后为每个答案存储多个值,如果它由不同的人提供的话。
用户也有子女我希望他们申请他们创建的表格。
我该如何做到这一点? 你会建议在我的子模型和表单模型之间创建一个关联吗?
你会怎么做?
因此,所有我需要的是有一个user
可创建forms
要回答用户的孩子的每一个。
更新:
于是我想出了以下的想法:
form
和children
之间创建一个连接表映射它的形式被应用到孩子。
此外,result
模型应该有一个answer_id
它回答的答案列。我想这将需要另一列来指向上面连接表的id
以映射哪个form-child属于哪个。
¿您认为这个逻辑是正确的吗?
当显示使用的形式,我打算通过每个项目显示form.title
,循环到他们的项目,并通过每个答案显示其item.title
,再次循环到它的答案,并显示其类型和标签为的每个结果的form_fields
的字段类型和标签。
现在的问题是我该如何设法做到这一点? 我知道如何创建和保存特定数量的Objects
但不包含动态数量的对象。
代码:
形式。RB
belongs_to :user
has_many :items, dependent: :destroy
accepts_nested_attributes_for :items, allow_destroy: true
item.rb的
belongs_to :form
has_many :answers, dependent: :destroy
accepts_nested_attributes_for :answers, allow_destroy: true
answer.rb
belongs_to :item
谢谢你的回答。好的,首先,我应该解决这个问题不会有正确/不正确的答案,但是查询特定答案可能是一个好主意。也许这就是我正在寻找的,我必须试一试。 – aleherzko
我无法实现您的解决方案。现在的目标是能够创建并保存动态数量的“结果”,具体取决于表单可能具有多少个“项目”和“答案”。 – aleherzko
该架构将与您的期望一致,您的问题是什么,您能详细描述一下吗? –