1
ユーザーがボタンをクリックしたときに、値をfalseからtrueに変更する必要があるAngular関数のペアを作成しています。アプリはユーザーの好きな本を追跡します。ユーザーがお気に入りを作成すると、 'tracking'と 'finished'のデフォルト値はfalseに設定されます。ユーザーがng-clickを使用してtrueに更新すると、新しい 'true'値はデータベースにパッチされず、コンソールにはまだfalseとして記録されます。私の機能に欠けているものについての考えは?ここで角度関数がデータベースを更新しない
$scope.trackFavorite = function(favorite) {
var favoriteParams = {
id: favorite.id,
tracking: favorite.tracking,
finished: favorite.finished
};
favorite.tracking = !favorite.tracking;
$http.patch("/api/v1/favorites/"+favorite.id+".json", favoriteParams).success(function(response) {
console.log("READING NOW");
console.log(response);
});
};
$scope.markFinished = function(favorite) {
var favoriteParams2 = {
id: favorite.id,
finished: favorite.finished,
};
favorite.finished = !favorite.finished;
console.log(favorite);
$http.patch("/api/v1/favorites/"+favorite.id+".json", favoriteParams2).success(function(response){
console.log("IS IT FINISHED");
console.log(response);
});
};
は、念のために、ビューからスニペットをクリックNGです:
<div>
<button ng-class="{tracking: favorite.tracking}" ng-click="trackFavorite(favorite)">Reading Now</button>
</div>
<div>
<button ng-class="{finished: favorite.finished}" ng-click="markFinished(favorite)">Finished</button>
</div>
どうもありがとう!
あなたの約束から戻って来るエラーをキャッチして、それが正しく保存されていない理由を説明する必要があります。 – Makoto