Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在创建父记录时存储子记录_Javascript_Ruby On Rails_Ajax_Asynchronous_Model View Controller - Fatal编程技术网

Javascript 如何在创建父记录时存储子记录

Javascript 如何在创建父记录时存储子记录,javascript,ruby-on-rails,ajax,asynchronous,model-view-controller,Javascript,Ruby On Rails,Ajax,Asynchronous,Model View Controller,我有一个创建/编辑游览记录的表单,有很多:游览图像 在这种形式中,嵌套的偏移图像由js通过远程调用()创建 此解决方案在编辑偏移上非常有效,但在创建时却不起作用,因为父对象还没有id 我有一个解决方案,但不确定是否有更好的选择: 允许在没有偏移的情况下创建偏移图像 在新表单上创建带有“图像代码”的隐藏字段 创建偏移图像时,在表单内部,在属性上保存相应的“图像代码” 保存偏移时,使用“图像\代码”查找所有偏移\图像 似乎效率不高!还有别的办法吗?我不知道你是否已经研究过了,但我相信的逆\u可以用来

我有一个创建/编辑游览记录的表单,
有很多:游览图像

在这种形式中,嵌套的
偏移图像
由js通过远程调用()创建

此解决方案在编辑偏移上非常有效,但在创建时却不起作用,因为父对象还没有
id

我有一个解决方案,但不确定是否有更好的选择:

  • 允许在没有偏移的情况下创建偏移图像
  • 在新表单上创建带有“图像代码”的隐藏字段
  • 创建偏移图像时,在表单内部,在属性上保存相应的“图像代码”
  • 保存偏移时,使用“图像\代码”查找所有偏移\图像

  • 似乎效率不高!还有别的办法吗?

    我不知道你是否已经研究过了,但我相信
    的逆\u可以用来解决这样的问题,有一些很好的解释


    它基本上帮助您处理内存中的相关记录

    您提出的解决方案非常完美。这似乎不是很有效,但这是唯一的办法。我不认为有任何变通办法可以在父母之前存储孩子

    我自己在类似的情况下也遇到了不少麻烦,直到我完全按照你所做的去做


    只是您必须定期删除所有图像,其中偏移量为
    nil
    (根据@paul noe)

    ,或者在上传图像之前要求使用一些基本信息创建偏移量。如果以后创建的游览失败-你会将已存在的游览标记为取消我不想妨碍体验,我希望所有内容都在同一视图上,如果用户想先上传图像,我宁愿让他上传。我猜事先创建空的游览也是一个很好的解决方案,但这也让我感到不舒服。你可以通过创建第一个上传的文件来保持体验。“空”游览将扮演与你现在使用的“图像代码”完全相同的角色,但更容易理解有趣的是,与我使用的方法(步骤1)相比,问题在于这需要同时发送两个对象,但fineuploader会在文件上传后立即发送一个请求,这似乎更好。是的,可以通过定期删除偏移为零的任何图像以更简单的方式完成。更新答案