鉴于我有资源ID和数据为普通JSON,如何将该JSON保存到/ cars / 123 / ???
似乎没有明确的解释。我没有restangular元素。 restangularizeElement可能是选项,但它没有任何有意义的文档。
我所知道的是,我想为car_id == 123保存{make:' honda',color:'现在为蓝色,为红色'}。
感谢。
答案 0 :(得分:2)
如果您有普通对象,则无法使用Restangular save函数进行更新(它会将put请求作为对象具有id)对象。
最简单的方法来实现它构建你的终点url然后调用put函数...
Restangular.one('cars', 123).customPUT(carObject).then(function(response){
TO-DO
})
如果你想重新校正你的普通物体,你可以使用这个......
Restangular.restangularizeElement(null,carObject, 'cars').put().then(function (response) {
TO-DO
})
comman的方式应该是这样的。每当您使用get
或getList
从后端获取对象时,您的对象将 Restangularized ,除非您不选择通过调用Restangular的.plain()
方法将它们变为普通对象响应。然后,您可以安全地拨打.save()
,它会自动put
或post
...
答案 1 :(得分:0)
这对我有用。感谢@ wickY26:
updateGroup: function (group, id_optional) {
if (!group.hasOwnProperty('restangularCollection')) {
// safe to assume it is NOT restangular element; sadly instanceof won't work here
// since there is no element class
// need to restangularize
group = Restangular.restangularizeElement(null, group, ENDPOINT);
group.id = id_optional;
}
return group.put();
},