1

私はしばらくレールを使用しており、Angular.js の統合をいじり始めています。自分自身を始めるために、単純な (ご想像のとおり) todo アプリを作成しています。

Rails コントローラーで、タスクの状態を「完了」と「未完了」の間で切り替える簡単なアクションを作成しまし/tasks/:ID/completePUT

def complete
    @task = Task.find(params[:id])
    @task.toggle!(:complete)
    respond_with @task
end

私のビューでは、すべてのタスクが一覧表示され、リンクの横に名前が表示されます。リンクをクリックすると、そのタスクの「完了」アクションを呼び出したいと思います。

<ul>
  <li ng-repeat="task in tasks">
    <a href="javascript:;" ng-click="completeTask(task.id)" class="complete-{{task.complete}}"></a>
    {{task.name}}
  </li>
</ul>

最後に、私の js コントローラー (コーヒー スクリプト) で:

app = angular.module("TaskList", ["ngResource"])

@ListCtrl = ($scope, $resource) ->
  Task = $resource("/tasks/:id", {id: "@id"}, {
    update: {method: "PUT"}
    complete: {method: "PUT"}
  })
  $scope.tasks = Task.query()

  $scope.completeTask = (task_id) ->
    Task.complete(task_id)

「これ」がAngularで利用可能なオプションであるかどうかはわかりませんが、ドキュメントに問題があります. ベストプラクティスを把握している間、誰かが私を正しい方向に向けることができますか?

ありがとう!

4

2 に答える 2