angularjs - 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'作为父级,但它是空的:
问题是,当我尝试操作event.remove()
的 url 时,它DELETE api/events/2703
不是DELETE api/vessels/125/events/2703
应该的。
我究竟做错了什么?
解决方案
我找到了答案。这是我应该做的:
// 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);
}