2013-09-20 2 views
9

나는이 알아낼 수없는 것 ID, 객체 편집, 업데이트 개체/w 객체를 가져옵니다 :Restangular - 내가 좋아하는 뭔가하고 싶은</p> <p>을 -

content = Restangular.one('contents', 2).get() 
content.name = "Chunky Bacon" 
content.put() 

을하지만이 작동하지 않습니다 -이 contentput 기능을 가지고 있지 않으며, 흥미롭게도, 그것은 name이없는, 중 지금

의 Restangular 문서가 당신을 객체를 업데이트 설명하지만, 않습니다 (그것은 "약속"이기 때문이다?) 컬렉션의 일부로 해당 객체를 가져옵니다.

content_id2 = Restangular.all("contents").getList()[2] 
content_id2.name = "Chunky Bacon" 
content_id2.put() 

그리고 이것은 작동합니다. 그러나! 전체 목록을 가져온 것뿐만 아니라 ID로 콘텐츠를 쉽게 가져 오는 방법을 알 수 없습니다. 레일 서버가 수신 만

Restangular.one("contents", 2).customPUT("", {"content" : {"name" : "Chunky Bacon"} }) 

, params["content"] == {id: 2}를 - 그것은 그 값을 쾅쾅하는 클라이언트 측에 뭔가처럼 보인다 : Restangular.all("contents").getList().find(2)

customPUT(..) 같은 다음 최선의 방법처럼 보인다. (다시 말하지만, no name 필드). 이제 간단히 다음과 같이하면 되겠습니다 :

Restangular.one("contents", 2).customPUT("", {"content_data" : {"name" : "Chunky Bacon"}) 

하지만 실제로 어떻게해야 하는지를 놓친 것 같습니다. 좋아

답변

14

this question에, 덕분에 그것을 발견 :

#In the beginning: 
Restangular.one("content", 2).get().then(function(c){ 
    $scope.content = c 
}) 

#Elsewhere: 
$scope.content.name = "Chunky Bacon" 

#Finally: 
$scope.content.put() 
+0

내가 같은 일을했고 나는 '넣어'내가 함수를 호출 할 때 오류가 "개체 찾을 수 없습니다"여전히 얻을. – Asqan

+0

Restriction promises와 값이 템플릿에서 직접 사용되는 방식이 변경 되었기 때문입니다 : https://github.com/mgonto/restangular#element-methods –