使用RoR在Ajax中执行master-detail表单的最佳模式是什么?我的表单有一个订单,每个订单都有很多。我只想做一个表单,用户可以在其中设置订单详细信息并包含,排除和更新itens。当用户插入项目时,我正在对我的控制器进行AJAX调用,以便用户可以搜索产品。但是当这个项目临时“保存”时,我仍然无法保存到我的控制器,因为用这个数据填充我的控制器可能不是一个好的模式,因为用户可能放弃了包含的顺序。所以我在JSON对象上保存在客户端。当用户准备好并保存订单时,我将发送订单的字段以及itens的JSON对象。我看到的问题是,我在客户端需要很多代码,搞乱JS并不容易......有什么更好的建议吗?
答案 0 :(得分:0)
使用您的Ajax调用为每个订单商品创建隐藏输入,例如order[item_ids][]
。
然后,让您的订单模型使用item_ids=
方法接受这些方法,这将在保存订单时创建关联。
答案 1 :(得分:0)
存储您要添加到控制器中的new_order_item_ids
的会话变量,因为您通过Ajax调用保存每个订单项。
然后,请在保存订单时阅读此内容。