2016-05-10 5 views
0

のサブセットを取得しようとしている)エンバー2.5燃えさし-CMI-蜃気楼が燃えさし2.5とエンバー-CLI-蜃気楼0.2を使用したコレクション

は、私は、サブセットOFAのコレクションを取得しようとしています私も試してみました

schema.book.all(...).slice is not a function 

、同じエラー

:ページネーションの目的)スライスを使用して()関数に

var books = schema.book.all().slice(startItem, endItem); 

が、私はエラーを取得します210

var books = schema.book.all(); 
var items = books.slice(startItem, endItem); 

ここでは私の蜃気楼/ config.jsの 輸出のデフォルトの関数である(){ .... this.get( '/ブック'、機能(スキーマ、リクエスト){

 const pageNumber = request.queryParams['page[number]']; 
     const pageSize = request.queryParams['page[size]']; 

     const startItem= (pageNumber - 1) * pageSize; 
     const endItem = (pageNumber * pageSize) - 1; 

     var books = schema.book.all().slice(startItem, endItem); 

     .... 

     return books; 
     }); 
    } 

それスライス()がArrayProxyの関数だと思われますが、これはJSONAPISerializerのようには役に立ちません

Ember 1.13ではなくEmber 2.5に関連するすべての例として少し失われています...

答えて

3

これはbですコレクションは配列のようなものですが、真の配列ではありません。このような理由から、次のベータリリースでは、基本配列を持つ.modelsプロパティが公開されます。

今のところ、あなたのschema.book.all()コレクションに.toArray()と呼び出してから、sliceを呼び出してみてください。あなたのハンドラから新しいコレクションを返すことを確認して、シリアライザ層を利用するには

import Collection from 'ember-cli-mirage/orm/collection'; 

this.get('/books', (schema, request) => { 
    let books = schema.book.all().toArray().slice(...); 

    return new Collection('book', books); 
}); 
+0

おかげで、それは私が試したものだ...と効果的に私は、サブセット「アイテム」を取得するn個けどそれはコレクションではないので、それを返すことはできません...とにかくそれをコレクションに戻すに変換するには?? – erwin

+0

はい、 'ember-cli-mirage/orm/collection 'から'コレクションをインポートしてみてください。 '新しいコレクションを返す('本 '、本) –

+0

グリアシアス、オブリガド、メルキ、ダンケーショーン、... – erwin

関連する問題