我已经使用ember-data设置了一个ember.js客户端作为持久性处理程序。 通过以下代码获取数据库中的所有记录可以正常工作:
router.js
App.ProjectsRoute = Ember.Route.extend({
model: function() {
return this.store.find('project');
}
});
但添加新记录无法正常使用此代码。它只添加到模型中而不是持久存在。
index.html(示例)
{{input type="text" id="newTitle" value=Title}}
<button class="small" {{action 'createProject'}}><i class="icon-plus-sign"></i></button>
Controller.js
App.ProjectsController = Ember.ArrayController.extend({
actions: {
createProject: function () {
var project = this.store.createRecord('project', {
project_number: this.get('newProject_number'),
title: this.get('newTitle'),
client: this.get('newClient'),
comment: this.get('newComment'),
xmlfile: this.get('newXmlfile')
});
this.set('newProject_number', '');
this.set('newTitle', '');
this.set('newClient', '');
this.set('newComment', '');
project.save();
}
}
});
models.js
App.Project = DS.Model.extend({
title: DS.attr('string'),
client: DS.attr('string'),
comment: DS.attr('string'),
project_number: DS.attr('string'),
});
app.js
window.App = Ember.Application.create();
App.store = DS.Store.extend({
adapter: DS.RESTAdapter,
});
DS.RESTAdapter.reopen({
namespace: 'api/index.php',
headers: {
"API_KEY": "secret key",
"ANOTHER_HEADER": "Some header value"
}
});
框架版本
Ember : 1.2.0;
Ember Data : 1.0.0-beta.5+canary.e120006;
Handlebars : 1.1.2;
jQuery : 2.0.3;
我错过了什么配置?但是,控制台中没有错误。 REST-Api适用于curl。
答案 0 :(得分:0)
问题是对API的JSON“POST”结构:
<强>发送:强>
{project: {client: "test",comment: "test",project_number: "test",title: "test"}}
API-Backend预计:
{client: "test",comment: "test",project_number: "test",title: "test"}
我想知道我在哪里可以找到有关ember-data如何构建它的请求的信息。 (有待进一步发展)