首页 > 解决方案 > Restangular POST 返回空的 parentResource

问题描述

我不知道我是否理解得很好,但我猜当您使用来自服务器的前一个 Restangular 元素发布时,它应该会产生一个以第一个元素作为 parentResource 的 restangular 元素。

看看这段代码:

// GET: api/vessels
var vessels = Restangular.all('vessels').getList();
this.vessel = vessels[0];

// POST: api/vessels/125/events
this.vessel
  .post('events', event)
  .then(event => { // the server returns the same object but with id filled
    this.vessel.events.push(event);
  }

所以事件应该以'this.vessel'作为父级,但它是空的: 单击此处查看 chrome 调试器上的元素对象

问题是,当我尝试操作event.remove()的 url 时,它DELETE api/events/2703不是DELETE api/vessels/125/events/2703应该的。

我究竟做错了什么?

标签: angularjsrestangular

解决方案


我找到了答案。这是我应该做的:

// GET: api/vessels
var vessels = Restangular.all('vessels').getList();
this.vessel = vessels[0];

// POST: api/vessels/125/events
this.vessel
  .one('events')
  .post(null, event)
  .then(event => { // the server returns the same object but with id filled
    this.vessel.events.push(event);
  }

推荐阅读