我们正在使用AngularJS和Rails4,当使用自定义方法更新用户记录时,我收到错误:
以下是控制器动作的定义方式
myApp.controller('AccountCtrl',..........
注册新用户可以正常使用
$scope.register = function(){
Auth.register($scope.user).then(function(){
$state.go('account');
});
}
更新用户不起作用
$scope.update = function(){
$scope.user = User.get({id: $stateParams.id});
$id = $scope.user.id;
User.update($scope.user);
}
错误消息 错误是路由"
中的#34; 422无法处理的错误无法加载资源:服务器响应状态为422(不可处理实体)
有人知道导致Angular破坏请求的原因是什么吗?
答案 0 :(得分:1)
您无法立即使用User.get
返回的值。你应该在这样的回调中处理它:
$scope.update = function(){
$scope.user = User.get({id: $stateParams.id}, function() {
$id = $scope.user.id;
User.update($scope.user);
});
};