动态生成嵌套模型的ID

时间:2012-10-13 20:14:40

标签: javascript ruby-on-rails ruby

我正在使用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,而不是自己设置?

1 个答案:

答案 0 :(得分:1)

一种方法是获取当前时间戳,而不是您正在使用的[0]。实际上,这不会被用作新对象的ID。将记录保存在数据库中时将创建ID。您正在使用的那些“ID”仅用于识别不同的对象,因此您只需要它们是唯一的,因此时间戳是一个很好的解决方案。

new Date().getTime();

我还建议你试试这个宝石:https://github.com/ryanb/nested_form