我正在使用js的表单,为嵌套模型生成隐藏的输入。 看起来有点像这样
<!-- Attrs. inputs for nested model price -->
<button>Add price</button>
jscript弹出一个带有字段的bootstrap模式,用于确定新价格的属性并为它们生成隐藏的输入,如下所示:
<input type="hidden" value="1" name="product[prices_attributes][0][quantity]">
<input type="hidden" value="123" name="product[prices_attributes][0][amount]">
这意味着,对于我想要发送给控制器的每个新价格,我必须生成ID。问题是,有没有办法让控制器动态生成id,而不是自己设置?
答案 0 :(得分:1)
一种方法是获取当前时间戳,而不是您正在使用的[0]
。实际上,这不会被用作新对象的ID。将记录保存在数据库中时将创建ID。您正在使用的那些“ID”仅用于识别不同的对象,因此您只需要它们是唯一的,因此时间戳是一个很好的解决方案。
new Date().getTime();
我还建议你试试这个宝石:https://github.com/ryanb/nested_form