0

ユーザー アクティビティを含むバックエンド リソースがあり、アプリケーションで 1 日分のアクティビティに基づいてアクティビティを表示したいと考えています。次のように、ルーターで定義されたArrayController呼び出されたアクティビティコントローラーがあります。

this.resource('activities', { path: '/activities/:by_date' }, function() {
    this.route('new');
});

REST API は、次の GET メソッドを提供します。

GET /activities/[by_date]

これまでのところ、これはかなり対称的で達成可能に見えますが、2 つの問題に直面しています。

  1. パラメータ化された配列の検索。通常、パラメーター化されたルートは によって処理されますObjectControllerが、この場合、by_dateパラメーターは単にアクティビティの配列を削減/フィルター処理しますが、返されるのは配列のままです。ActivitiesRoute単一の結果セットを期待するのではなく、「findAll」を効果的に実行するように、モデルフックでこれを構造化する方法がわかりません。
  2. 機能性以来。これらの一連のアクティビティを戻すには合理的なネットワーク コストがかかるため、これを可能な限り最小限に抑えたいと考えています。REST API はsince、最後のリクエストの日付とともにパラメーターを渡すことができるようにすることでこれをサポートします。304このようにして、サーバーは、最後の呼び出し以降にレコードが更新されていない場合にコードで応答するだけで、新しいレコードがある場合は新しいレコードのみが返されます。ember-dataでこれを「箱から出して」取得する方法はありますか? これにはカスタム アダプターを作成する必要がありますか? もしそうなら、利用可能なオープンソースのソリューションはありますか?

ps#2への答えの一部は、アレックススペラーのクエリパラメーターを組み込むことかもしれないと考えていました:http://discuss.emberjs.com/t/query-string-support-in-ember-router/1962/48

4

1 に答える 1