--Using灰燼數據2.7.1--Ember.JS - 「類型錯誤:internalModel.getRecord不是一個函數」試圖扭轉的記錄的集合
我試圖扭轉集合的訂單時,沒有首先使用toArray()將它們轉換爲數組。這個對象集合來自this.store.findAll('history-item')返回的promise。
我想這樣做的燼方式,而不是讓他們平原的JavaScript。我得到一個TypeError:來自record-array.js的internalModel.getRecord。出於某種原因,當它嘗試執行objectAtContent()時,它所查找的內容似乎沒有類型。通過堆棧跟蹤,我可以看到我處理的對象是[Class],類是歷史項目模型。在objectAtContent()之前調用一些堆棧,被處理的對象將從該歷史項目模型切換到其他沒有type屬性的Class對象。
我能夠使用Ember Inspector正確查看我的數據,並且如果我只是在我的模板上顯示原始記錄集合,它會正確顯示。
有沒有人遇到過這個?
的幾點思考和注意事項:
-Is有什麼特別的findAll()是如何使用它的承諾,因爲它是在後臺重裝是不允許逆轉?我確實希望它繼續重新加載實時數據。
- 我正在使用ember-cli-mirage來模擬我的數據庫和終結點,並且我已按照指示信來操作。我爲mirage使用了未配置的JSONAPIerializer,並且爲ember使用了未配置的JSONAPIAdapter。它可能與從後面發送的元數據有關嗎?它可能與模型或記錄沒有設置有關嗎?有什麼特別的我需要做的?
定義模型並嘗試將其反向的路由段: [注意:我知道在路由中準備數據(排序)可能不是常規,但我只是將其放在此處以便於描述。我通常做它之外的控制器或組件]
model(){
return this.get('store').findAll('history-item').then(function(items){
return items.reverseObjects();
}).catch(failure);
歷史列表模型聲明:
export default DS.Model.extend({
question: DS.attr('string'),
answer: DS.attr('string')
});
灰燼-CLI-幻影config.js終點:
this.get('/history-items', (schema) => {
return schema.historyItems.all();
});
Ember-用於歷史項目的Cli-Mirage夾具:
export default [
{id: 1, question: "1is this working?", answer: "Of course!"}
}
錯誤:
TypeError: internalModel.getRecord coming from record-array.js
當我嘗試創建保存記錄時,也會發生此問題。保存成功,但是當模型重新加載(並嘗試反向)時,它會失敗並出現相同的錯誤。無論是否夾具都沒關係。
控制器:
var newHistoryItem = this.store.createRecord('history-item', {
question: question,
answer: answer
});
newHistoryItem.save().then(success).catch(failure);
'reverseObjects()'應該是工作。但它不起作用。這是預期的行爲還是你找到任何推理呢? – kumkanillam
hm,看起來像它在我附加的旋轉工作 –
在你做'this.store.findAll('history-item')的模型掛鉤。then(function(items){return items.reverseObjects();})'its拋出'TypeError:從record-array.js'來的internalModel.getRecord ..我也試過你的旋轉。 – kumkanillam