我提供了一个形式,用户上传自己的数据。 我使用Ajax的形式提交(以上传CSV一个每行),然后分析数据,以创建多个模型。
现在,我想创建模型为预定的集合。
我可以使用添加这需要的车型阵列但不幸的是,它并没有在服务器端发送PUSH。 我知道我可以遍历并创建.create每个模型,但让我们说我有10K的机型,它会造成10k的电话。 听起来很不合理。 我错过了什么?
另一种方法是在服务器接受多个模型,并使用阿贾克斯电话,然后手动添加到集合的UI渲染。
寻找最佳路线。 谢谢。
我提供了一个形式,用户上传自己的数据。 我使用Ajax的形式提交(以上传CSV一个每行),然后分析数据,以创建多个模型。
现在,我想创建模型为预定的集合。
我可以使用添加这需要的车型阵列但不幸的是,它并没有在服务器端发送PUSH。 我知道我可以遍历并创建.create每个模型,但让我们说我有10K的机型,它会造成10k的电话。 听起来很不合理。 我错过了什么?
另一种方法是在服务器接受多个模型,并使用阿贾克斯电话,然后手动添加到集合的UI渲染。
寻找最佳路线。 谢谢。
骨干网和REST根本不覆盖所有真实使用情况下,如您批量创建实例。 他们也不对大宗官方模式删除,这也是非常常见的。 我感到莫名其妙,为什么他们拒绝解决这些非常普遍的使用情况,但在任何情况下,你留下你自己良好的判断力在这里。 所以我建议增加一个bulkSave
或import
方法到您的收藏。 这应该与您的CSV格式的数据发送AJAX POST请求到服务器,服务器端应保存的信息,如果一切顺利,返回新创建的模型的JSON数组。 你收集应采取JSON数组中的POST响应,并把它传递给reset
(和parse
,如果你需要一些特殊的分析以及)。
绝对不要做每个模型(在您的CSV行)POST请求,特别是如果你打算在具有10K机型。 但是,要清楚,它不会完全可怕的,如果你的UI显示在每记录的基础上(65 23保存,例如)实时进度和错误处理做了几十个型号的格局。
我喜欢@PeterLyons的务实态度,但另一个想法可能试图改变你不是REST功能的REST功能。
你想要的是一次创造了一堆模型。 REST不允许在一个创建多个资源。 什么REST喜欢在一个时间来创建一个资源。
没问题,我们创建了一个新的资源调用Bulk
拥有自己的网址和自己的POST动词。 该attributes
这个模型是要创建的模型的数组。
通过这种方法,你也可以像解决和修改一次删除多个模型的潜在功能。
现在,你只需要弄清楚如何模型的阵列关联到这个新的模型,以及如何使Bulk.toJSON
正确方法的响应。