2017-06-21 7 views
0

ember-cli 2.5.1でJSON API Adapterを使用しようとしていますが、少し問題があります。Ember DS.hasManyの子どもがJSON APIで表示されない

私はtodo-list-item.jsと "hasMany"関係にあるtodo-list.jsモデルを持っています。 TODOリストの取得、サーバーが返すこの:

{ 
     "links": { 
     "self": "http://localhost:4200/service/v1/todolists/b-tlst-af69786c-cbaf-4df9-a4a3-d8232677006a" 
     }, 
     "data": { 
     "type": "todo-list", 
     "id": "b-tlst-af69786c-cbaf-4df9-a4a3-d8232677006a", 
     "attributes": { 
      "name": "b1-TodoList", 
      "created-on": 1468474962458, 
      "modified-on": 1468474962458 
     }, 
     "relationships": { 
      "todolistitems": { 
      "data": { 
       "type": "todo-list-item", 
       "id": "b-todo-b5e3c146-d93a-4f97-8540-875bbcd156ca" 
      } 
      } 
     } 
     } 
    } 

2人のTodoListItemの子供の代わりの1があった場合は、その「データ」キーの値は配列ではなく、オブジェクトされていると思います。

これを受け取った後、Ember Chromeプラグインの[データ]タブに1個のTodoListと1個の子TodoListItemが表示されることを期待していました。代わりに、1つのTodoListと0のTodoListItemが表示されます。

「ネットワーク」タブからは、ブラウザがレスポンスの「データ」セクションにリストされている項目を取得する要求を絶対に出さないことに注意してください。

上記の関係セクションは、正確で十分ですか?

+0

アプリケーション内の関係データにアクセスしますか?例えば。単純な '{{log todoList.items}}'を実行することによって? ember.jsは、アクセスされるデータのみを読み込みます。 – Timm

+0

はい。次のコードでは、 "todoList"は有効ですが、 "todoListItems"プロパティは未定義です。 todoList.get( 'todoListItems')行は、データの読み込みにはなりません(emberデータブラウザプラグインの「データ」セクションに表示されます): todoList = this.get( 'todoList'); if(todoList){ todoList.get( 'todoListItems'); } – Marc

答えて

0

クライアント側では約束の誤解が原因であることが判明しました。さらに、サーバー上では、「関係」キー(つまり「todo-list-items」)にダッシュを入れて、の "データ"配列。

関連する問題