2012-09-03 18 views
9

私はid(実際には2つのパラメータ)以外のパラメータでfind(ember-dataで)を実行しようとしています。ember-data find()と複数のパラメータを持つ単一のレコードを返します

が、私は戻って取得するすべて:

"Uncaught Error: assertion failed: Your server returned a hash with the key customer but you have no mappings". 

DS.AdapterPopulatedRecordArrayを作成するハッシュを、与えられたとき、私はfindQuery方法にfindメソッドを委譲していることがわかり、コードの中を掘った後、顧客列で私のJSONをラップし、私ヘクタールにそれらを介してループすることによって

{"customer":{ 
"id":24857,"name":"Kim Fransman","id_number":"XXXX","email":"[email protected]","type":"Person"}} 

が、私はこの問題を解決することができますが、私は私のJSONに単一の顧客オブジェクトを返しますndlebarsビューが非常に間違っていると感じます。

今日、ember-dataでこれを行う方法はありますか?

答えて

3

私も同様の問題があり、ここで質問を開きました。基本的にこれは、モデルに基づいて構成する必要があるRESTAdapterの文書化されていないプロパティです。あなたはこのと同様に、それを定義する必要があります:私はそれが役に立てば幸いEmber-Data: How do "mappings" work

App.Store = DS.Store.extend({ 
    adapter: DS.RESTAdapter.create({ 
    bulkCommit: true, 
    mappings: { 
     // All your models will have to have a mapping defined, 
     // like this... 
     genres: 'App.Genre' 
    } 
    }), 
    revision: 4 
}); 

はここに私の質問を確認してください。

+1

ありがとうございます!今私はもうコードを使用しませんが、これはおそらく他の誰かがグーグルを助けるでしょう! –

+0

どのバージョンを使用しているのか分かりませんが、リレーションシップ改善ブランチでは、DS Modelクラスをマッピングオブジェクトに引用する必要があるようです。 'マッピング:{ジャンル: 'App.Genre'}' –