私は、 Railscastを出発点として、Rails アプリに AngularJS を実装することに取り組んできました。私の質問は、Angular JS ngResource with nested resourcesという質問に似ていますが、問題の解決策が見つかりませんでした。
現在、部分的に親リソースのビューに表示しているネストされたリソースがあります。タスクを取得するには、クエリで project_id を指定する必要があるため、次のようにします。
app.factory "Task", ["$resource", ($resource) ->
$resource("/projects/:project_id/tasks/:id", {project_id: "@project_id", id: "@id"}, {update: {method: "PUT"}})
]
@TaskCtrl = ["$scope", "Task", ($scope, Task) ->
$scope.tasks = Task.query({project_id: "@project_id", id: "@id"})
私の質問は、ビューで「@project_id」を設定して、例の最後の行でコントローラーで値にアクセスできるようにするにはどうすればよいですか? ng-init を使用してみました:
<div ng-controller="TaskCtrl" ng-init="project_id = <%= @project.id %>">
ただし、TaskCtrl コントローラーで「project_id」が空白になり、「$scope.project_id」も機能しません。どんな助けでも大歓迎です。