我有嵌套表格的复杂形式
产品< - OneToMany - >变体(:product_id)< - OneToMany - >资产(:variant_id)
全部采用单一形式......
我有nested_form gem用于在客户端添加新项目。
这一切都很好,直到资产......
通过使用Ajax上传文件创建的资产...因此,当我创建新产品时,资产已经存在于数据库中
所以产品(及其变体)是新的,需要在数据库中创建,但资产已经存在..
问题是如何在产品创建表单中将新Variant链接到现有资产......
问题不在于javascript中添加嵌套字段......但是我应该在哪些字段中添加它以使其工作... 目前我正在添加
<input class="id" id="product_variants_attributes_1406469924735_assets_attributes_1406469935999_id" name="product[variants_attributes][1406469924735][assets_attributes][1406469935999][id]" type="hidden" value="17">
但是这不起作用,因为Rails在Variant的范围内搜索资产......至少还不存在而且即使存在变体,该变量中也没有该变量的资产...所以我是提交时收到此错误:
Couldn't find Asset with ID=17 for Variant with ID=
是否有任何神奇的HTML代码将被转换为服务器端的variant.assets << Asset.find(id)
...?
是否可以使用表单管理与现有项目的OneToMany关系?或者我应该将我的关系转换为ManyToMany,以便我将使用“连接表”模型......