私は Ember Data の初心者で、FIXTURE データから RESTAdapter に切り替えたばかりですが、モデルと API の呼び出しシグネチャを接続する方法について十分に知りません。具体的には、 endpoint を呼び出せるようにしたいと考えていますGET /activities/[:user_id]/[:by_date]
。これにより、「アクティビティ」オブジェクトの配列がロードされますが、特定の日付のオブジェクトのみがロードされます。
ルーター:
this.resource('activities', { path: '/activities' }, function() {
this.route('by_date', {path: '/:user_id/:by_date'});
});
ルート:
App.ActivitiesByDateRoute = Ember.Route.extend({
serialize: function(activity) {
return {
userId: 1,
dateBy: "2013-07-01"
};
}
});
最初に、上記の Route の値をハードコーディングして調整しようuserId
としました。dateBy
悲しいことに、それはうまくいきませんでした。理由は理解できたと思いますが、これを簡単に修正する方法はありませんが、URL: にパラメータを手動で入力したときのほうが気がかりでしたhttp://restful.service.com/api/activities/1/2013-07-01
。結果は私にとって非常に驚くべきものです:
- 最初のデバッグ メッセージは成功を示唆しています。
- ただし、実際にはネットワーク リクエストが行われないため、これは正しくありません。
- ブラウザをリロードすると、アクティビティが表示されますが、驚いたことに、指定されたユーザーも検索されます。うーん。ユーザー 1 は正常に引き戻されました。
GET /activities
ただし、アクティビティは、このエンドポイントが機能するためにユーザーと日付修飾子が必要なため、失敗する単なる呼び出しです。これらがリクエストに含まれていなかったのはなぜですか?