0

ember-data解決しようとしている重要な問題がある最後のバージョンを使用しています。

IDによるfind関数は完璧に機能し、適切なレコードがデータ ストアに読み込まれるので、レンダリング用のテンプレートで必要な属性を取得できます。

App.PostRoute = Ember.Route.extend({
  model: function(params) {
    return this.store.find('post', params.post_id);
  }
});

一方、findAll関数は機能しません。問題は、Ember がエラーをスローしないことです。さらに、Ember はレコードをロードしませんRecordArray。さらに、テンプレートで返されたレコードを反復処理する方法がわかりません。

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

助言がありますか?助けてくれてありがとう。

4

2 に答える 2

1

上記のコメントから、応答が次のようになっている場合:

[
    {"id":"1","attribute1":"value1", ...,"attributen": "valuen"},
    {"id":"2","attribute1":"value1", ...,"attributen": "valuen"}
]

で応答を変更するカスタム シリアライザーを提供していない場合、extractArray(...)Ember Data は次のようなものを想定しているため、データは処理されません。

{
    "pluralizedModelName": [
        {"id":"1","attribute1":"value1", ...,"attributen": "valuen"},
        {"id":"2","attribute1":"value1", ...,"attributen": "valuen"}
    ]
}

Ember Data 1.0 固有のコードを参照してください: https://github.com/emberjs/data/blob/master/TRANSITION.md#rest-adapter-and-serializer-configuration

于 2013-10-29T14:43:01.343 に答える
0

テンプレートでモデルをどのように参照していますか? 生成されたコントローラーを使用していますか、それとも自分で定義していますか?

また、RecordArray は、Handlebars テンプレートによって自動的に解決される必要があります。{{#each}} を参照してみてください。デフォルトでは、テンプレートはコントローラーのプロパティを探し、見つからない場合はモデルにバブル アップします。可能であれば、JSBin (emberjs.jsbin.com) を作成してください。サンプルと協力できます。

編集: また、Fixture または Rest Adapter を使用していますか?

于 2013-10-28T19:32:14.303 に答える