【发布时间】:2018-09-19 12:21:53
【问题描述】:
从昨天开始我就遇到了这个错误,错误:断言失败:'todo' 已保存到服务器,但响应没有 id,您的记录也没有。
我知道它应该来自 app/serializers/todo.js 或我的 app/routes/application.js 但是在查看了几个论坛之后,我不得不向专家 emberJs 开发人员提问,因为我是新手:笑脸:
这里是my app/serializers/todo.js:
import DS from 'ember-data';
export default DS.JSONSerializer.extend({
serialize: function(record, options) {
var json = this._super.apply(this, arguments); // Get default serialization
json.id = record.id; // tack on the id
return json;
}
});
还有我的app/routes/application.js
import Route from '@ember/routing/route';
export default Route.extend({
model(){
return this.store.findAll('todo');
},
actions: {
createtodo: function() {
var titleInput = this.get("newTitle")
var todo = this.store.createRecord('todo', {
title: titleInput,
isCompleted: false
});
this.set('newTitle', '');
todo.save();
}
}
});
createtodo动作的触发方式app/templates/application.hbs:
{{input type="text" id="new-todo" value=newTitle}}
<button {{action "createtodo"}}>Save</button>
所以我的对象已创建但未保存。当我查看我的 ember Inspector 时,我看到我创建的每个对象都有一个 ID,但标题字段为 null 或“”。
这是一个以 Rails-API 为背面,Ember 为正面的 todoApp。
有人知道这里有什么问题吗?
【问题讨论】: