1

内部 Laravel PHP API からのデータを視覚化しようとしています。したがって、私の localhost:8000/api/orders は次のような json を出力します。

[
    {
        "id": "2",
        "topic": "yusdvhdsh",
        "data": ""
    },
    {
        "id": "3",
        "topic": "praise",
        "data": ""
    }
]

これが私のapp.jsです

    App.Router.map(function() {
        this.route('introduction');
        this.route('orders');
        this.route('faq');
    });

    App.Order = DS.Model.extend({
        id: DS.attr('string')
        , topic: DS.attr('string')
        , data: DS.attr('string')
    });

    App.ApplicationAdapter = DS.RESTAdapter.extend({
      namespace: 'api'
    });

    App.FaqRoute = Ember.Route.extend({
      model: function() {
        return this.store.find('order');
      }
    });

ルート、注文モデル、faqroute、アダプターを定義しました。localhost:8000/api/orders からのこの JSON データからトピックのリストを表示する必要があります。これは、以下のような faq テンプレートに表示されます。

<script type="text/x-handlebars" data-template-name="faq">
     <h5>faqs</h5>
    {{#each model}}
         {{topic}}
    {{/each}}

</script>

しかし、localhost:8000/#/faq にアクセスしようとすると、何も表示されず、コンソールに次のエラーが表示されます。

"Assertion failed: Error while loading route: TypeError: Cannot set property 'typeKey' of undefined " 

私が間違っていることを教えてください...

4

1 に答える 1

3

Ember データは次のような応答を期待しています

{
  "orders": [
  {
    "id": "1",
    "topic": "Rails is unagi",
    "data": "Rails is unagi"
  }, 
  {
    "id": "2",
    "topic": "Omakase O_o",
    "data": "Rails is unagi"
  }]
}

さらに、クラス定義でidを定義しないでください

 App.Order = DS.Model.extend({
    topic: DS.attr('string'),
    data: DS.attr('string')
 });
于 2013-10-18T10:08:31.920 に答える