2016-08-16 15 views
0

私のようなデータリターンを呼び出すAPI:これは名前のために働くエンバー:型オブジェクトの属性

{{input type="text" class="form-control" value=model.pet.petName}} 

{ 
    "data": { 
    "id": "5", 
    "type": "person", 
    "attributes": { 
     "name": "John", 
     "pet": { 
     "typeOf": "cat", 
     "petName": "Furry" 
     }, 
     ... 

モデル/ person.js:

name: attr('string'), 
pet: attr() 

テンプレートペット用ではありません。ペットのAPIコールがないのにペットモデルを作成する必要はありますか?これはAPIがペット属性をオブジェクト属性として返し、関係を返さないので機能しますか?

+0

ちょうどペット試してください:ATTRを() - それは変換なしで属性を定義することを意味します。 – kumkanillam

+0

私の悪い、それは私がやったことです。これは、オブジェクト属性を保存して動作するはずですか? – edhel

+1

はい。それはうまくいくはずです。 – kumkanillam

答えて

1

はい。これは機能します。 ember-twiddle

ルート/

import Ember from 'ember'; 
export default Ember.Route.extend({ 
    model: function() { 
    return this.store.findRecord('person', 5); 
    } 
}); 

モデル/ person.js

import Model from "ember-data/model"; 
import attr from "ember-data/attr"; 

export default Model.extend({ 
    name: attr('string'), 
    pet: attr() 
}); 

テンプレート/ application.hbs

{{input type="text" class="form-control" value=model.pet.petName}} 
をapplication.js

アダプター/

import Adapter from "ember-data/adapters/json-api"; 

export default Adapter.extend(); 

シリアライザ/

import Serializer from "ember-data/serializers/json-api"; 

export default Serializer.extend(); 

JSON API呼び出しの戻りデータをapplication.js application.js:

{ 
    data: { 
     type: 'person', 
     id: 5, 
     attributes: { 
      "name": "John", 
      "pet": { 
       "typeOf": "cat", 
       "petName": "Furry" 
      } 
     } 
    } 
} 
+0

私の問題は他の場所にあることを意味し、この懸念を排除できます。 – edhel

関連する問題