Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails AngularJS:我如何将ID传递给表演动作?_Ruby On Rails_Angularjs_Angularjs Resource - Fatal编程技术网

Ruby on rails AngularJS:我如何将ID传递给表演动作?

Ruby on rails AngularJS:我如何将ID传递给表演动作?,ruby-on-rails,angularjs,angularjs-resource,Ruby On Rails,Angularjs,Angularjs Resource,我只是在学AngularJS。我有以下JSON端点 /api/v1/排行榜/:id 返回与ID对应的排行榜 我有以下AngularJS服务: App.factory 'Leaderboard', ['$resource', ($resource) -> $resource '/api/v1/leaderboards/:id', id: '@id' ] 这个AngularJS控制器: App.controller 'LeaderboardsCtrl', ['$scope', 'Lead

我只是在学AngularJS。我有以下JSON端点

/api/v1/排行榜/:id

返回与ID对应的排行榜

我有以下AngularJS服务:

App.factory 'Leaderboard', ['$resource', ($resource) ->
  $resource '/api/v1/leaderboards/:id', id: '@id'
]
这个AngularJS控制器:

App.controller 'LeaderboardsCtrl', ['$scope', 'Leaderboard', ($scope, Leaderboard) ->
  $scope.selectedLeaderboard = Leaderboard.query()
]
以下是我在haml的观点:

.leaderboard{"ng-app" => 'Leaderboards', id:"ng-app"}
  %h4.title
    Leaderboard Title
  .leader-section{'ng-controller' => "LeaderboardsCtrl"}
    .leader-content{'ng-show' => "selectedLeaderboard", 'ng-repeat' => "leader in selectedLeaderboard"}
      .media.award-group
        %a.pull-left{href: "{{leader.user.path}}"}
          %img.media-object{src: "{{leader.user.small_pic_url}}"}
        .media-body
          %h4.media-heading
            %a.leader-name{href: "{{leader.user.path}}"}
              {{leader.user.name}}
            .metric.pull-right
              {{leader.count}}
加载页面时,我在控制台中看到以下错误:

得到http://localhost:3000/api/v1/leaderboards 404找不到

如果我用实际的排行榜id替换:id,那么一切都正常。但是如何从视图级别传入该ID

App.controller 'LeaderboardsCtrl', ['$scope', 'Leaderboard', ($scope, Leaderboard) ->
  $scope.selectedLeaderboard = Leaderboard.query({id: 'count-receiver'})
]

只需像上面那样将ID传递给服务。

我认为您只需要添加括号$resource'/api/v1/leadboards/:ID',{ID:'@ID'}