要创建新模型,我只需要传递一个属性:
model.save({
name: 'bar'
});
然后服务器将添加额外的属性,例如此模型的id。
实际上,当我创建新模型时,服务器的响应是
此请求没有可用的响应数据。
获取服务器创建的额外属性的最佳方法是什么? 我应该修理服务器部分吗?
这是我的代码:
var ListView = Marionette.CompositeView.extend({
// some code
events: {
'click #create-user': 'createUser'
},
createUser: function (e) {
this.collection.create(this.newAttributes(e));
},
newAttributes: function (e) {
return {
name: $(e.currentTarget).val(),
};
}
appendHtml: function (collectionView, itemView) {
collectionView.$el.find('ul.list-users').append(itemView.el);
}
});
答案 0 :(得分:1)
这个问题与Marionette无关,Marionette只扩展了视图,而不是模型。
Backbone会自动合并从服务器发回的所有新属性 - 在客户端没有什么特别需要做的。但为了使其工作,您的服务器需要返回您想要设置的属性 - 值对的JSON对象。