Ember数据:仅提交非空或空的属性

时间:2016-08-15 15:19:38

标签: ember.js

我已经定义了一个具有许多不同属性的模型,但在我的后端创建记录时只需要其中一些属性。使用createRecord仅使用少数属性创建新记录会使其余属性为null或“”,这会导致后端失败。

如何让Ember创建一个只包含我传递给createRecord的属性的模型对象,或者,如何在将null属性发送到后端之前删除它们?

1 个答案:

答案 0 :(得分:0)

说你正在使用$.ajax({ url: "http://localhost:8080/ajax_info.php", dataType: "jsonp", jsonp: 'jsoncallback', success: function(data) { alert(data); }, error: function() { $('#info').html('<p>An error has occurred</p>'); } }); RESTAdapter

RESTSerializer

现在您已为//model.js (serializer) serializeIntoHashForCreate: function(data, type, record, options) { let serialized = this.serialize(record, options); delete serialized.unwanted_prop; lodash.assignIn(data, serialized); } //model.js (adapter) createRecord(store, type, record) { var data = {}; var serializer = store.serializerFor(type.modelName); serializer.serializeIntoHashForCreate(data, type, record, {includeId: false}); return this.ajax(this.buildURL(type.modelName), "POST", {data: data}); } 方法定制了适配器,createRecord用于创建store

的记录