Dav*_*tik 3 ruby-on-rails angularjs restangular
我有一个使用Restangular的AngularJS App在Rails 4 API之上进行持久化.我遇到的问题是我的更新无法正常工作.
我的代码在routeProvider:
when('/course/edit/:courseId', {
controller: 'CourseEdit',
templateUrl: '/assets/templates/course/form.html',
resolve: {
course: function(Restangular, $route) {
return Restangular.one('courses', $route.current.params.courseId).get();
}
}
})
Run Code Online (Sandbox Code Playgroud)
我的控制器功能:
function CourseEdit($scope, $location, course) {
$scope.course = course;
$scope.save = function() {
$scope.course.put().then(function() {
$location.path('/course/view/' + $scope.course.id);
});
};
}
Run Code Online (Sandbox Code Playgroud)
PUT的请求正在http://mysite.com/courses而不是http://mysite.com/courses/id
就像我预期的那样,我似乎无法弄明白为什么.
rails抛出的错误是'No route matches [PUT] "/courses".
任何帮助将不胜感激.
我设法了解了一下,我设法解决了这个问题.我从我发现的教程中复制了Restangular的一些配置,而没有真正检查所有部分是否都是必要的.
在我的 config()
RestangularProvider.setRestangularFields({
id: '_id.$oid'
});
Run Code Online (Sandbox Code Playgroud)
这与我的API在我的API中不匹配,并且是我遇到的问题的罪魁祸首.我最终删除了它,只留下配置setBaseUrl,它又开始工作了.
希望这能帮助其他人摆脱与我同样失明的困境.
| 归档时间: |
|
| 查看次数: |
935 次 |
| 最近记录: |