javascript - $resource on $save() throws TypeError: Object #<g> has no method 'push' -


resource factory:

.factory('workerrepository', function($resource){     return $resource('workers/:id', {id:'@id'}); }) 

controller:

.controller('listcontroller', function($scope, workerrepository){     var workers = workerrepository.query(function(){         $scope.workers = workers;     });      $scope.worker = {namesurname: 'peter', email: "test@gmail.com", phone: 600100200};      $scope.add = function() {         var worker = new workerrepository(this.worker);         worker.$save();     }; }) 

when $scope.add method executed script throws typeerror: object #<g> has no method 'push' error. if understand correctly $resource, $save method default provides 'save': {method:'post'}, there no isarray: true. why getting error?

apparently, error lied within backend rest controller (thanks hint @stewie!) - didn't linked post method action, $save() method invoking action responsible query(), indeed returns array of objects.

was:

query() ->  /workers -> return array of workers save()  -> post /workers -> return array of workers 

after backend controller refactor:

query() ->  /workers -> return array of workers save()  -> post /workers -> return created worker 

Comments