これが私の Ember-Data モデルです。
Lrt.Option = DS.Model.extend({
option_relation_value: hasMany('option')
});
JSON の例を次に示します(この質問のために短縮されています) 。
{
"optionGroups": [],
"optionSubGroups": [
{
"id": "3",
"optionType": [
"80",
"81",
"82",
"83",
"84",
"248",
"278"
],
"title": "Option Group for 80"
}
],
"options": [
{
"id": "45",
"option_relation_value": [
"80"
]
},
{
"id": "80",
"option_relation_value": []
}
]
}
オプションをサイドローディングする「OptionGroup」および「OptionSubGroup」モデルもあります。
私が抱えている問題は、「hasMany」をモデルに追加した後、次のようにオプションのストアを照会できなくなったことです。
this.get('store').find('option')
単純に「0」を返しますが、Ember Inspector では 400 以上のエントリが表示されるので、データが読み込まれていることがわかります。
chrome インスペクターを使用してすべての例外で中断すると、Ember-Data の 2246 行目の次の行で中断します。
2246: Ember.assert('The id ' + id + ' has already been used with another record of type ' + type.toString() + '.', !id || !idToRecord[id]);
エラーは次のとおりです。
"Cannot call method 'toString' of undefined"
この行の「type」は「未定義」です。
この hasMany 関係で何が間違っていますか?
Ember-Data 1.0 Beta 2 を使用しています。