AngularJS のフォームから追加された新しいレコードを作成するには、次のようにします。
task = Task.save($scope.newTask)
ただし、保存時に作成された新しい ID も取得する必要があります。ここにある答え: AngularJS $save の呼び出し後に更新された値を取得していないことは、必要なものに対処しているようですが、CoffeeScript に変換すると:
task = $scope.newTask
task.$save (msg, headers) ->
console.log task.id
それは動作しません。Ruby on Rails を使用しています。どんな助けでも大歓迎です。
編集:
上記のコードでエラーが発生します:「オブジェクト # にはメソッド 'save' がありません」
ここに私のコードの全体像があります:
app = angular.module("appName", ["ngResource"])
app.factory "Task", ["$resource", ($resource) ->
$resource("/projects/:project_id/tasks/:id", {project_id: "@project_id", id: "@id"}, {update: {method: "PUT"}, destroy: { method: 'DELETE' }})
]
@TaskCtrl = ["$scope", "Task", ($scope, Task) ->
$scope.tasks = Task.query()
$scope.saveTask = ->
task = $scope.newTask
task.$save (msg, headers) ->
console.log task.id
$scope.tasks.push(task)
$scope.newTask = {}
]