私はember データを使用するためにhttp://emberjs.com/guides/models/connecting-to-an-http-server/に従おうとしていますが、残りの API を作成した後、次のような js エラーが発生します。
ルートの読み込み中にエラーが発生しました:
TypeError: データが未定義です
コード上:
id
Ember.assert("渡すハッシュに を含める必要がありますpush
", data.id != null);
最初は、作成したモデルに「id」フィールドを含める必要があると考えていましたが、そうすると、モデルに id フィールドを配置しないでくださいというエラーがスローされます。残りの API からの出力は正しいです。
{
"analyticsRun": {
"id": 1,
"analyticsPlan": "some plan",
"commandScript": "some script",
"analyticsRunParameters": [
"homeDir",
"historyDir",
"Sourcefolder",
"resultsDir",
"dataDir"
]
},
"analyticsRunParameters": [
{
"id": "homeDir",
"default": "Some default",
"description": "Where is the analytics folder",
"name": "homeDir",
"value": "Q:/Ember",
"type": "global"
},
{
"id": "historyDir",
"default": "Rhistory",
"description": "Where R image will be saved",
"name": "historyDir",
"value": "Rhistory",
"type": "global"
},
{
"id": "Sourcefolder",
"default": "J:/Analytics_R_Source_Scripts",
"description": "Where are source codes and functions are saved",
"name": "Sourcefolder",
"value": "J:/_R_Source_Scripts",
"type": "type 1"
},
{
"id": "resultsDir",
"default": "results",
"description": "Where are results stored",
"name": "resultsDir",
"value": "results",
"type": "global"
},
{
"id": "dataDir",
"default": "Export",
"description": "Where is raw csv stored",
"name": "dataDir",
"value": "Export",
"type": "global"
}
]
}
私のモデルは次のように定義されています:
AS.AnalyticsRun = DS.Model.extend({
'analyticsPlan' : DS.attr('string'),
'commandScript' : DS.attr('string'),
'parameters' : DS.hasMany('analyticsRunParameter')
});
AS.AnalyticsRunParameter = DS.Model.extend({
'name' : DS.attr('string'),
'type' : DS.attr('string'),
'description' : DS.attr('string'),
'default' : DS.attr('string'),
'value' : DS.attr('string')
});
そして私のルートは:
AS.AnalyticsConfigRoute = Ember.Route.extend({
model: function(param) {
var store = this.get('store');
return store.find('AnalyticsRun',param.runId);
}
});
エラーから、コードが ID ルックアップを実行していて、それを見つけられなかったようです。誰かが以前にこの問題に直面したことがありますか、またはこの問題を解決する方法について何か提案はありますか?
注: isuse は、_find 関数内の ember-data.js ファイルで発生しているようです。
return resolve(promise).then(function(payload) {
Ember.assert("You made a request for a " + type.typeKey + " with id " + id + ", but the adapter's response did not have any data", payload);
//payload has data here
payload = serializer.extract(store, type, payload, id, 'find');
//payload is undefined here!!
return store.push(type, payload);
}
ありがとう、ディー