1

丸一日試した後、あきらめました。ember.js の非常に基本的なアプリケーションの場合、適切な応答で応答するサーバーへの ajax 要求をセットアップしようとしました。問題は、アレイ コントローラーのテンプレートに表示されるサーバーからモデル データ (custom_route) を取得しないことです。しかし、取得できなかったのは、関連するモデル (ステーション) のデータです。両方のモデルは次のように定義されます。

App.CustomRoute = DS.Model.extend({
  name: attr('string'),
  description: attr('string'),
  stations: DS.hasMany(App.Station)
});

App.Station = DS.Model.extend({
        name: attr('string'),
        description: attr('string'),
        stations: DS.hasMany(App.Station)
    });

FixtureAdapter を使用すると、 {async: true} をパラメーターとして両方のメソッドに追加した後、すべてが完全に機能します。しかし、デフォルトの RESTful アダプターでは、表示されるのは custom_route モデルからのデータだけです。それは私の質問につながります: ajax 応答は、アダプターが両方のモデルから両方のデータをフェッチするように見えますか? ネット上では、モデルとそれに関連するモデルを解決する findAll() リクエストへの応答の例を見つけることができませんでした。私が見つけたものはすべて、私が試した単一のモジュールのリクエストが発生した場合に、返信がどのように見えるか (サイドロードを含む) を例示するだけです

{
   "custom_routes": [
      {
         "custom_route": {
            "id": 1,
            "name": "Route 1",
            "description": "Description 1",
            "station_ids": [
               1,
               2,
               3
            ]
         }
      }
   ],
   "stations": [
      {
         "id": 1,
         "name": "Station 1",
         "description": "Description 1",
      }
   ]
}

しかし、それはうまくいきませんでした。ただし、モデルの単一表現のキー名「custom_route」が「custom_routes」エントリの左側にある場合は、表示されます。うまくいけば、その問題の回避策があり、うまくいけば、私の英語が問題を説明するのに十分だった. 私はネイティブ スピーカーでも、長年の Web 開発者でもありません。しかし、両方を改善することを楽しみにしています:)

4

1 に答える 1