2012-03-09 78 views
3

是否有任何可能的方法覆蓋PUT響應的同步方法,並從db中排除id字段,並保持不變?我爲API使用Django REST框架;而試圖PUT,我越來越:override backbone.sync only for put

{"field_errors": "id": ["This field does not exist."],} 

我想,如果我重寫同步和排除id領域PUT,我的問題將得到解決,但我不知道該怎麼做。

+0

如果你的問題是可以修改URL的默認[Collection.url(http://documentcloud.github.com/backbone/#Collection-url)和/或[Model.urlRoot(HTTP ://documentcloud.github.com/backbone/#Model-urlRoot)默認行爲。 – fguillen 2012-03-13 16:28:30

回答

3
Backbone._sync = Backbone.sync; 
Backbone.sync = function(method, model, options) { 
var params = _.clone(options); 
delete model.attributes.id; 
params.success = function(model) { 
    if(options.success) options.success(model); 
}; 
params.error = function(model) { 
    if(options.error) options.error(model); 
    }; 
Backbone._sync(method, model, params); 
} 
+0

我只想問問這種代碼在哪裏?在視圖上?儘管我使用backbone,underscore和required.js。我怎麼稱呼它?因爲正常同步將我需要的模型串聯起來,從而對串化模型進行串聯。 – jongbanaag 2012-03-30 01:58:27

+0

你應該保持在這個模型的代碼,骨幹調用它時自動有GET,POST,PUT,DELETE請求,大多數情況下,model.attributes.id不工作,我的情況下,它的工作原理,需要檢查它 – 2012-03-30 10:44:33

+0

爲stringifies檢查主幹中的解析方法 – 2012-03-30 11:13:24