// 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"}
अद्यतन करने मुझे लगता है कि इस बदली हुई विशेषता के साथ करने के लिए/उपयोगकर्ताओं/1 पुट में परिणाम होगा उम्मीद करेंगे। लेकिन यह इसके बजाय POST/उपयोगकर्ताओं के लिए है और यह एक नया उपयोगकर्ता बनाता है (नए नाम के साथ एक नई आईडी के साथ)।
क्या ऐसा कुछ है जो मैं गलत कर रहा हूं?
AngularJS v1.0.5
धन्यवाद, 9 0%, यह अद्यतन उपयोगकर्ता के साथ अब/उपयोगकर्ताओं/1 को पोस्ट करता है। लेकिन अब इसे पोस्ट के बजाय कैसे बनाना है? बहुत करीब। –
मुझे लगता है कि यह डिजाइन द्वारा पोस्ट करें। मुझे एक नया संसाधन होने पर POST को "सेव" ओवरराइड करना होगा और जब यह किसी मौजूदा संसाधन के लिए अद्यतन होगा। पोस्ट के बजाय PUT के बारे में मेरे प्रश्न का उत्तर देने के लिए http://docs.angularjs.org/api/ngResource.$resource –
, $ संसाधन ("/ उपयोगकर्ता /: id", {'id': '@id'}, {अद्यतन: {विधि: 'डाल'}}); पुट के लिए चाल है। बस User.update (उपयोगकर्ता) या उपयोगकर्ता को कॉल करें। जिस तरह से आप User.save (उपयोगकर्ता) और उपयोगकर्ता करेंगे। $ $। –