HTTP Put error when updating array: No matching document found. has no method 'send'

I seem to be having issues performing HTTP Put requests inside an array in AngularJS and ExpressJS. The issue is, when I call the HTTP Put the first time, everything works correctly. However, when I try to call a second time, it doesn't work. The following is my attempt:

When I click a button, I call perform the following HTTP Put Request:

$scope.currentUser.eventsAttending.push(event.eventName);
$http.put('/api/users/' + $scope.currentUser._id, $scope.currentUser)
  .success(function(data){
    console.log("Success. User " + $scope.currentUser.name);
  });

Here is my User schema/model in User.model.js:

var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var User = require('./user.model');

var UserSchema = new Schema({
  name: String,
  ...
  eventsAttending: [{ type: String, ref: 'Event'}]
});

I route the HTTP Put Request as so in index.js:

router.put('/:id', controller.update);

And here is my actual HTTP Put function called controller.update in User.controller.js:

// Updates an existing event in the DB.
exports.update = function(req, res) {
  if(req.body._id) { delete req.body._id; }
  User.findById(req.params.id, function (err, user) {
    if (err) { return handleError(err); }
    if(!user) { return res.send(404); }
    var updated = _.merge(user, req.body);
    updated.markModified('eventsAttending');
    updated.save(function (err) {
      if (err) { return handleError(err);}
      return res.json(200, user);
    });
  });
};
...
function handleError(res, err) {
  console.log("Error: ", err);
  return res.send(500, err);
}

On the second time where I try to call the HTTP Put function (exports.update above), I always get an error in Mongoose that says:

TypeError: Object VersionError: No matching document found. has no method 'send'
    at handleError (/Users/schan/test/go-v2/server/api/user/user.controller.js:131:14)
    at Promise.<anonymous> (/Users/schan/test/go-v2/server/api/user/user.controller.js:43:25)

The error is basically where I call the if(err) return { handleError(err); } in the HTTP Put function and when I print out the error, I get Error undefined. I'm honestly unsure on how to debug this or what I may be doing wrong. Can anyone point me in the right direction? If so that would be great! Thanks.

You're not passing res to handleError(). Change instances of handleError(err); to handleError(res, err);