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

时间:2018-05-30 00:55:34

标签: javascript ruby-on-rails ajax asynchronous model-view-controller

我有一个用于创建/编辑Excursion记录的表单,has_many :excursion_images

在此表单中,嵌套excursion_images由具有远程调用(Fine Uploader)的js创建。

此解决方案完全适用于编辑Excursion,但不适用于创建,因为父级还没有id

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

  1. 允许在没有游览的情况下创建excursion_image。
  2. 在_new表单上创建一个带有“image_code”的隐藏字段。
  3. 在表单内创建excursion_image时,在属性上保存相应的“image_code”。
  4. 保存游览时,使用“image_code”查找所有excursion_image。
  5. 看起来效率不高!还有其他办法吗?

2 个答案:

答案 0 :(得分:1)

你提出的解决方案是完美的。它看起来效率不高,但这是唯一的方法。我不认为在父母之前存储孩子有任何解决方法。

在我完成你所做的事情之前,我自己在类似的情况下遇到了很大的麻烦。

只是您必须定期删除所有图像,其中Excursion为nil(根据{paul-noe的comment

答案 1 :(得分:0)

我不知道你是否已经调查过,但我相信inverse_of可以用来解决这样的问题,有一些很好的解释here

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