2017-04-10 6 views
1

バージョン:エンバー2.11エンバーデータモデル・エラー - あなたは店のmodelForメソッドにモデル名を渡す必要があります - JSON応答を

私はRESTのAPIからデータをロードするエンバーデータモデルを使用しようとしていますが、それはありますここで

  ember.debug.js:17634 Assertion Failed: You need to pass a model 
      name to the store's modelFor method 
      Error 
      at assert (http://localhost:4200/assets/vendor.js:16249:13) 
      at Object.assert 
      (http://localhost:4200/assets/vendor.js:27921:34) 
      at assert (http://localhost:4200/assets/vendor.js:76154:37) 
      at Class.modelFor 
      (http://localhost:4200/assets/vendor.js:86032:41) 
      at Class._internalModelForId 
      (http://localhost:4200/assets/vendor.js:85168:29) 

ようなエラーメッセージで失敗することは私のコードです:

シリアライザ/ sfresult.js

   import DS from 'ember-data'; 
       export default DS.RESTSerializer.extend({ 

       }); 

シリアライザ/ sfresults.js

   import DS from 'ember-data'; 
       export default DS.RESTSerializer.extend({ 

       }); 

モデル/ sfresult.js

   import DS from 'ember-data'; 
      export default DS.Model.extend({ 
       sfresults: DS.hasMany('sfresults', { async: false }), 
       message: DS.attr('string') 

     }); 

モデル/ sfresults.js

   import DS from 'ember-data'; 

       export default DS.Model.extend({ 

       title: DS.attr('string'), 
       description: DS.attr('string'), 
       caseNumber: DS.attr('string'), 
       lastModifiedDate: DS.attr('string'), 
       type: DS.attr('string'), 
       url: DS.attr('string'), 
       searchText: DS.attr('string'), 
       messageId: DS.attr('string') 
      }); 

コントローラコード:

    let sfdata = this.store.query('sfresult',{ 'searchText': inputSearchText, 'searchType' : 'SF' }); 

JSON応答:

  { 
     "sfresult":{ 
     "message":"SUCCESS", 
      "sfresults":[ 
       { 
       "viewScore":"100.0", 
       "caseNumber":"000005462", 
       "id":"1d725883-15f2-4f18-927c-b14455440458", 
       "url":"url1", 
       "title":"title", 
       "description":"", 
       "lastModifiedDate":"12/29/16" 
       }, 
       { 
        "caseNumber":"00007082", 
        "status":"Closed", 
        "id":"b79c0397-f544-45f0-8b91-e2bb7a386ebf", 
        "url":"ur2", 
        "title":"title1?", 
        "description":"", 
        "messageId":"500E000000DPA33IAH", 
        "lastModifiedDate":"08/16/16" 
       } 

       ] 
      "id":"2b238d70-01ce-4604-913f-29d4c5eeba60" 
     } 

     } 

私はsfresultを取得し、それをUIで表示するために繰り返したいと思っていました。 Emberタブでは、sfresultにデータがロードされていて、sfresultsオブジェクトに何も表示されないことがわかりました。私は多くの組み合わせを試しましたが、それを動作させることができませんでした。いくつかの体はこれで助けてくださいできますか?

+0

エブラヒム・pasbani @あなたがこの上の任意のアイデアを持っていますか? –

答えて

0

あなたはまだこれを修正していない場合は、このようなシリアライザ/ sfresult.jsを更新しよう:

import DS from 'ember-data'; 

export default DS.RESTSerializer.extend(DS.EmbeddedRecordsMixin, { 
    attrs: { 
     sfresults: { serialize: 'ids', deserialize: 'records' } 
    } 
}); 
関連する問題