Ao tentar editar o console acusa erro 500
//o meu código
angular.module('alurapic').controller('FotoController', function($scope, $http, $routeParams) {
$scope.foto = {};
$scope.mensagem = '';
if($routeParams.fotoId) {
$http.get('v1/fotos/' + $routeParams.fotoId)
.success(function (foto) {
$scope.foto = foto;
})
.error(function (erro) {
console.log(erro);
$scope.mensagem = 'Não foi possível obter a foto';
});
}
$scope.submeter = function () {
if ($scope.formulario.$valid) {
if($scope.foto._id) {
$http.put('v1/fotos/' + $scope.foto_id, $scope.foto)
.success(function () {
$scope.mensagem = 'A foto ' + $scope.foto.titulo + ' foi alterada com sucesso!';
})
.error(function(erro) {
console.log(erro);
$scope.mensagem = 'Não foi possível alterar a foto ' + $scope.foto.titulo;
})
} else {
$http.post('v1/fotos', $scope.foto)
.success(function() {
$scope.foto = {};
$scope.mensagem = 'Foto cadastrada com sucesso!';
})
.error(function(erro) {
$scope.mensagem = 'Erro no cadastro da foto!';
});
}
}
};
});
// código da resolução
angular.module('alurapic')
.controller('FotoController', function($scope, $http, $routeParams) {
$scope.foto = {};
$scope.mensagem = '';
if($routeParams.fotoId) {
$http.get('/v1/fotos/' + $routeParams.fotoId)
.success(function(foto) {
$scope.foto = foto;
})
.error(function(erro) {
console.log(erro);
$scope.mensagem = 'Não foi possível obter a foto'
});
}
$scope.submeter = function() {
if ($scope.formulario.$valid) {
if($routeParams.fotoId) {
$http.put('/v1/fotos/' + $scope.foto._id, $scope.foto)
.success(function() {
$scope.mensagem = 'Foto alterada com sucesso';
})
.error(function(erro) {
console.log(erro);
$scope.mensagem = 'Não foi possível alterar';
});
} else {
$http.post('/v1/fotos', $scope.foto)
.success(function() {
$scope.foto = {};
$scope.mensagem = 'Foto cadastrada com sucesso';
})
.error(function(erro) {
console.log(erro);
$scope.mensagem = 'Não foi possível cadastrar a foto';
})
}
}
};
});
Além de não entender a origem do erro, também não entendi porquê os códigos são diferentes. No if que faço o put, o meu código está if($scope.foto._id) (esse código é exatamente igual ao vídeo), porém o código da resolução está if($routeParams.fotoId). Imagino que apenas são formas diferentes de código, com resultados iguais. Contudo, acho importante manter uma congruência entre descrição e vídeo. Por fim, se essa diferença não é o problema, qual é o meu erro?