Rails:在尚未包含ID的新父记录中创建关联记录

时间:2014-09-11 02:03:12

标签: ruby-on-rails postgresql activerecord ruby-on-rails-4 associations

我有has_many张照片的页面。但是,我希望能够在页面的新视图中上传图片(在“页面”分配了ID之前用于关联)。

这样做的最佳做法是什么?我过去通过跳过验证并保存“页面”来完成此操作,这使我可以使用ID。但是,我觉得这是hacky方法。因为它给了我很多需要清理的空白页面。

有没有更好的方法让这一切都有效?我想在页面模型上存储上传到数组字段中的图片的所有id。然后after_save遍历每个图片ID并构建关联。

思考?建议?

1 个答案:

答案 0 :(得分:0)

如果图片对象需要在父母之前保存,那么总会有事情发生(例如:用户决定不保存)并且页面不会得到保存,图片将不可避免地需要一些清理,所以你可以从一开始就保存页面。

我多次遇到这种情况并且我没有找到更好的方法(比你建议的方法更好),你可能想在页面模型上添加一个'status'字段来处理显示/清理。 / p>

如果您找到更好的解决方案,请告诉我们!