例如,我们有这个模型字段:- 名字-姓- 生日- 地址。
如何能够在一个页面中复制表单,为每个人填写数据,并一次创建多个记录。
<form>
<input name />
<input surname />
<input birthdate />
<input address />
</form>
<button>Additional+</button>
<button>Submit</button>
逻辑是当用户单击Additional+
按钮时,呈现第二个表单。每次点击呈现另一个奖金形式。
<form>
<input name />
<input surname />
<input birthdate />
<input address />
</form>
<form>
<input name />
<input surname />
<input birthdate />
<input address />
</form>
<form>
<input name />
<input surname />
<input birthdate />
<input address />
</form>
<button>Additional+</button>
<button>Submit</button>
当用户点击Submit
时,整个数据需要发送到我的控制器。
1条答案
按热度按时间ygya80vv1#
即使要创建多个人员,也必须只有一个表单。所以你的表单看起来像这样:
请注意文本输入字段的字段名中的括号
[]
...这是能够将多个人作为阵列提交的关键。接下来,定义一个用于添加其他人员的模板:
接下来,你需要能够为其他人添加额外的字段,这是由JavaScript完成的:
因此,每次单击“添加人员”按钮时,另一个first_name字段将添加到表单中。
当你点击“保存名字”时,你将提交一个包含first_names数组的参数散列的表单,如下所示:
在控制器中,您可以为收到的数组中的每个成员创建一个新的人!