// Set up the $resource
$scope.Users = $resource("http://localhost/users/:id");
// Retrieve the user who has id=1
$scope.user = $scope.Users.get({ id : 1 }); // returns existing user
// Results
{"created_at":"2013-03-03T06:32:30Z","id":1,"name":"testing","updated_at":"2013-03-03T06:32:30Z"}
// Change this user's name
$scope.user.name = "New name";
// Attempt to save the change
$scope.user.$save();
// Results calls POST /users and not PUT /users/1
{"created_at":"2013-03-03T23:25:03Z","id":2,"name":"New name","updated_at":"2013-03-03T23:25:03Z"}
Bunun, değiştirilen özniteliğe/kullanıcılara/1'e neden olacağını umuyorum. Ancak bunun yerine/kullanıcılar için POST ve yeni bir kullanıcı oluşturur (yeni adla birlikte yeni adla birlikte).
Yanlış yaptığım bir şey var mı?
AngularJS v1.0.5
sadece o rota-parametre bağlama zorundadır nasıl $ kaynak anlatmak gerekir
Buraya% 90 teşekkürler, güncellenmiş kullanıcıyla/kullanıcıları/1'e şimdi gönderir. Ama şimdi nasıl POST yerine PUT yapmak? Çok yakın. –
Tasarım tarafından POST sanırım. Yeni bir kaynak olduğunda ve mevcut bir kaynak için bir güncelleme olduğunda PUT'ye "kaydet" i geçersiz kılmam gerekecek. POST, $ resource ("/ users /: id", {'id': '@id'} yerine PUT hakkındaki soruyu yanıtlamak için http://docs.angularjs.org/api/ngResource.$resource –
{güncelleme: {yöntemi: 'PUT'}}); PUT için hile yapar. User.update (kullanıcı) veya kullanıcı. $ Güncellemesini, User.save (kullanıcı) ve kullanıcı. $ Kaydetme biçiminde arayın. –