我一直在這個問題上停留了一段時間。我徹底研究了stackoverflow上的問題,無法找到解決方案。Ember-data「斷言失敗:錯誤:斷言失敗:來自findAll的響應必須是數組,但不確定」
我正在嘗試使用ember-data和rails API將JSON數據加載到我的應用程序存儲中。我正在使用ember-cli。
我繼續得到的錯誤是:Assertion Failed: Error: Assertion Failed: The response from a findAll must be an Array, not undefined
應用程序由幾個報告,每個有圖表。服務器火災關閉的API(以上漲作爲查詢字符串UUID)的請求,並收到以下JSON響應:
{
reports: [
{
id: 1,
name: "Report 1",
description: "Test Report 1",
display_order: 0,
chart_ids: [
1
]
},
{
id: 2,
name: "Report 2",
description: "Test Report 2",
display_order: 1,
chart_ids: [
5,
6
]
}
]
}
這是報告的路線:
export default Ember.Route.extend({
setupController: function(controller) {
controller.set('model', this.store.find('report'));
}
});
和我型號:
var Report = DS.Model.extend({
name: DS.attr('string'),
description: DS.attr('string'),
displayOrder: DS.attr('integer'),
charts: DS.hasMany('chart', { async: true })
});
var Chart = DS.Model.extend({
reports: DS.belongsTo('report'),
config: DS.attr()
});
我使用的是ActiveModelAdapter和ActiveModelSerializer:
ApplicationAdapter:
export default DS.ActiveModelAdapter.extend({
namespace: 'api',
ajax: function(url, type, hash) {
if (Ember.isEmpty(hash)) {
hash = {};
}
if (Ember.isEmpty(hash.data)) {
hash.data = {};
}
hash.data.uuid = $.cookie('uuid');
this._super(url, type, hash);
}
});
和串:
export default DS.ActiveModelSerializer.extend();
我此刻非常沮喪。 Ember調試器不是很有幫助。任何幫助將超級讚賞。
讓我知道是否有更多的信息會有所幫助。
什麼是從服務器的響應時,它請求圖表信息,或者它不這樣做呢? – Kingpin2k
在點擊報告之前,它不應該請求任何圖表數據。所以它沒有提出這樣的要求。 –
你沒有在模板中引用它,或者你是什麼? – Kingpin2k