Делаю комментарии к статьям (Две связанные схемы DiscussSchema и CommentSchema).
Сделал сервис
angular.module('discusses').factory('Comments', ['$resource',
function($resource) {
return $resource('api/discusses/comments',
{
update: {
method: 'POST'
}
});
}
]);
,
В контроллере angular
var CommentResource = Comments;
$scope.addComment = function(){
var commentRes = new CommentResource();
console.log(commentRes);
commentRes.discuss_id = $stateParams.discussId;
commentRes.body = $scope.commentData.body;
commentRes.user = user;
commentRes.$save(function(result){
});
};
В консоль выводится всё нормально. id, user как object, всё хорошо.
В серверных раутах пишу
module.exports = function (app) {
var disсusses = require('../controllers/disсusses.server.controller');
var disсussesPolicy = require('../policies/disсusses.server.policy');
app.route('/api/disсusses/comments').all(disсussesPolicy.isAllowed)
.post(disсusses.addcomments)
.get(disсusses.listall);
в серверном контроллере пишу
exports.addcomments = function(req,res, next){
console.log('server addcomments');
};
exports.listall = function(req,res,next){
console.log('sever lisall');
};
Но при нажатии addComment() получаю
GET http://localhost:3000/server-error 500 (Internal Server Error)
Т.е. что-то ни туда посылается. И вопрос - а почему GET? $save вроде идет как POST
Что происходит и кто виноват?