我一直致力于在我的 Rails 应用程序中实现 AngularJS,基于Railscast作为起点。我的问题类似于这个问题: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' 也不起作用。任何帮助表示赞赏。