0
爲什麼無法在model.save
中獲取更新請求?我總是得到創建請求。backbonejs model.save的創建或更新 - 無法獲取更新請求
觀點,
define([
// load the dependencies
], function(App, $, _, Backbone, Handlebars, ProjectModel, ProjectCollection){
var updateFormView = Backbone.View.extend({
el: 'div.abPanel',
initialize: function() {
$(this.el).undelegate('form#frmAddContact', 'submit'),
_.bindAll(this, 'updateContactPage', 'updateContact');
},
events: {
'submit form#frmAddContact': 'updateContact'
},
updateContactPage: function (id) {
// load the data into the update form
},
updateContact: function (event) {
var contactmodel = new ProjectModel({
form: $('#frmAddContact', this.$el)
});
contactmodel.save();
return false;
}
});
return updateFormView;
});
型號,
var ProjectModel = Backbone.Model.extend({
sync: function (method, model, options) {
console.log(method); // Why I always get create method??
// other stuff
}
});
return ProjectModel;
});
在骨幹doc,
通知我們Backbone.sync的重寫版本如何接收一個 「創造」 要求第一模型保存時間和「更新」請求 第二次。
second time
?我不明白 - 爲什麼我們需要在second time
處獲得「更新」要求?我不能從集合中獲取特定的模型數據,編輯並更新它?
編輯:
updateContactPage: function (id) {
var contact = {};
var model;
if(App.contactCollection !== undefined)
model = App.contactCollection.get(id); // I have called the model first time right???
if (id !== undefined && model !== undefined) {
console.log(model); // And I get the requested model displayed on my form.
contact = model.toJSON();
}
this.$el.html(Handlebars.getTemplate('add')({contact: contact}));
},
你設置的一個'id'屬性有問題的Backbone.Model? – fbynite
是的,我有。請看看我上面的編輯。我第一次在集合中調用模型。除非我理解錯第一次和第二次意味着骨幹? – laukok
第一次被翻譯成一個'PUT'請求(即''保存'一個沒有'id'屬性的模型]。第二次被轉換成一個'POST'請求(也就是說,你保存一個具有'id'屬性的模型)。總之'App.contactCollection.get(id)!=(第一次||第二次)'。 – fbynite