私はAngularJSを学んでいます。次の JSON エンドポイントがあります
/api/v1/leaderboards/: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}}
ページをロードすると、コンソールに次のエラーが表示されます。
GET http://localhost:3000/api/v1/leaderboards 404 (Not Found)
:id
実際のリーダーボード IDに置き換えると、すべて正常に動作します。しかし、ビュー レベルからその ID を渡すにはどうすればよいでしょうか?