現在,我可以創建對象並通過json api將它們保存到rails數據庫。這是一個簡單的待辦事項列表應用程序,當我添加一個對象時,它會進入輸入字段上方的待辦事項列表。我也能夠查詢索引視圖上的所有對象,並列出我所有的待辦事項對象。無法更新角度對象
當我點擊每個todo項目旁邊的複選框時,它應該將其:done屬性更改爲true,以便在單擊「清除」按鈕(這是clearCompleted
函數)後我不再顯示它。
這裏是我的js代碼
angular.module("Todo", ["ngResource"])
function TodoController($scope, $filter, $resource) {
Todo = $resource("/todos.json", {id: "@id"}, {update: {method: 'PUT'}})
$scope.todos = Todo.query()
$scope.getTotalTodos = function() {
return $scope.todos.length;
};
$scope.clearCompleted = function() {
Todo.save({done:true})
$scope.todos = $filter("filter")($scope.todos, {done:false});
};
$scope.addTodo = function() {
entry = Todo.save({title:$scope.newTodo.title, importance:$scope.newTodo.importance, description:$scope.newTodo.description, done:false})
$scope.todos.push(entry);
$scope.newTodo.title = '';
$scope.newTodo.importance = '';
$scope.newTodo.description = '';
};
}
正在發生的事情是,而不是更新該對象在數據庫中,它正在創造一個全新的待辦事項,只是給它的:done => true
屬性。這很有意義,因爲在clearCompleted
函數中,它看起來像我們正在創建一個不更新現有對象的對象。
如何更新數據庫中的記錄呢?
你在哪裏把ID在參數? – apneadiving
你指的是資源方法嗎?有它,因爲我正在跟蹤一個railscast。 – user2184718