【发布时间】:2015-10-23 06:38:34
【问题描述】:
我正在使用 Ember 1.13.5 和 Ember Data 1.13.7 以及默认的 JSONAPIAdapter/Serializer,我在保存新模型时遇到问题。
我的路线如下所示:
import Ember from 'ember';
export default Ember.Route.extend({
model: function(params) {
return Ember.RSVP.hash({
auditLog: this.store.query('log', {filter: {object: 'IsoApplication', object_id: params.id}}),
});
},
});
这会成功返回控制器的“auditLog”键中的“log”模型集合,例如this.get('model.auditLog').
在控制器中,我创建了一个新的“日志”模型并成功保存,如下所示:
self = this;
var log = this.store.createRecord('log', {
logLevelId: 2
logTypeId: 2
object: 'IsoApplication',
objectId: 23
message: 'A message',
logData: '',
});
log.save().then(function(log) {
self.get('model.auditLog').pushObject(log);
});
我用这条线:
self.get('model.auditLog').pushObject(log);
更新模型以便我的新日志条目显示在 UI 中,但我收到以下错误:
TypeError: internalModel.getRecord is not a function
“save”回调中的“log”参数是“InternalModel”类型。我被引导相信 InternalModels 仅由 Ember Data 核心代码使用,因此推测“保存”回调应该返回一个 DS.Model 实例。这里有什么问题吗?
另外,我是否通过使用“pushObject”来更新“log”模型的“model.auditLog”集合以使用新添加的模型更新 UI,或者它应该是一个自动过程? /p>
任何人都可以提供任何帮助,我们将不胜感激。
谢谢。
【问题讨论】:
标签: ember.js ember-data ember-cli