Restangular POST returns 空 parentResource
Restangular POST returns empty parentResource
我不知道我是否理解得很好,但我猜想当你 post 使用来自服务器的先前 Restangular 元素时,它应该会产生一个带有第一个元素的 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);
}
我不知道我是否理解得很好,但我猜想当你 post 使用来自服务器的先前 Restangular 元素时,它应该会产生一个带有第一个元素的 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);
}