如何在Rails中创建“新”操作的多个实例?

时间:2013-11-17 14:30:16

标签: ruby-on-rails ruby model controller form-for

new操作页面上(假设该模型名为 Car ),我有一个表单,我可以从选择菜单中选择数字(范围1-10)。当我选择一个数字时 - 比方说5,我需要显示5个表单,访问者可以将信息存入并保存(所有5个表单都需要发送到create操作,然后保存到该表为5个单独的行。)

怎么做?我需要将这些表格作为数组发送?以及如何在 @car = Car.new

的新动作数组中创建

谢谢

1 个答案:

答案 0 :(得分:0)

有一种可能的解决方案。例如,让我们考虑您想通过单个表单发布汽车的两个条目,并且每个汽车模型都有名称和颜色字段。然后:

HTML表单:

<form>

<h1>Car 1</h1>
Name: <input type="text" name="cars[index_0][name]" />
Color: <input type="text" name="cars[index_0][color]" />

<h1>Car 2</h1>
Name: <input type="text" name="cars[index_2][name]" />
Color: <input type="text" name="cars[index_2][color]" />

<input type=""submit" name="Submit" value="Submit" />

</form>

请注意,“index_ *”部分已添加到每个条目的名称中。在“创建”操作中,您现在可以在“参数”中迭代这些值并创建模型。您需要编写一个小帮助程序和javascript代码来实现修改后的字段名称,或者您可以手动执行此操作。