クエリ機能を実装するfindQuery
には、アダプターにメソッドを実装する必要があります。このメソッドは 4 つの引数を取りますstore, type, query, modelArray
。load
サーバーがクエリのデータを返したら、 でメソッドを呼び出してmodelArray
クエリ結果を入力する必要があります。このメソッドは、データをストアにもロードします。例を参照してください: http://jsfiddle.net/pangratz666/5HMGd/。
App.store = DS.Store.create({
revision: 4,
adapter: DS.Adapter.create({
find: Ember.K,
findQuery: function(store, type, query, modelArray) {
// expect server to return this array
modelArray.load([{ id: 1, name: 'John'}, { id: 2, name: 'Jack'}]);
}
})
});
App.MyModel = DS.Model.extend({
name: DS.attr('string'),
didLoad: function() {
console.log('model loaded', this.toJSON());
}
});
// invoke query which loads the 2 models, and didLoad is called
App.store.find(App.MyModel, {});
</p>