0

Ember.js atm をマスターするための最初の試み。シンプルな CMS を作ろうとしていますが、何らかの理由で json からのデータの表示に問題があります。Fixture から RESTAdapter に既に切り替えましたが、まだ行き詰まっています。

エラー: アサーションに失敗しました: サーバーはキーのタイムスタンプを含むハッシュを返しましたが、そのマッピングがありません。

ここに私のjsコードがあります:

 App.Store = DS.Store.extend(
      {
 revision:12,
 adapter: 'DS.RESTAdapter'
      }
     ); 

 App.Menucategory = DS.Model.extend({
       timestamp: DS.attr('number'),
       status: DS.attr('string')       
});

  App.MenucategoryRoute = Ember.Route.extend({
       model: function() {
               return App.Menucategory.find();
       }
});

DS.RESTAdapter.reopen({
  url: <my url>
});

DS.RESTAdapter.configure("plurals", {
  menucategory: "menucategory"
});

次の方法でアクセスしようとしています:

<script type="text/x-handlebars" id="menucategory">
    {{#each model}}
{{data}}
    {{/each}}
</script>

私のjson構造:

 {
"timestamp": 1366106783,
"status": "OK",
"data": [
{
"name": "starters",
"id": 1
},
{
"name": "main dishes",
"id": 2
}]}

あなたが提供できる助けを前もって感謝します。

4

1 に答える 1

1

デフォルトでは、RESTAdapter は、API が準拠していない特定の形式であることを API が想定しています。API を変更できる場合は、この形式で返されるようにする必要があります。それ以外の場合は、アダプターをカスタマイズする必要があります。 .

予想される形式 (JSON に基づく):

{
  "menucategory": [
    {
      "name": "starters",
      "id": 1
    },
    {
      "name": "main dishes",
      "id": 2
    }
  ],
  "meta": {
    "timestamp": 1366106783,
    "status": "OK",
  }
}
于 2013-04-17T14:54:27.160 に答える