2013-02-26 6 views
5

RIGT şimdi ben arıyorum model.destroy model.destroy arama sırasında url geçersiz kılmak için bir yol, imha yaparken) (omurgada

Ben url çağrıyı geçersiz kılmak istediğiniz sunucu tarafında bir DELETE istek var mı , UrlRoot'u değiştiremeyeceğim.

Herhangi bir yolu var mı? Omurganın varsayılan URL şeması Sunucunuz için işe yaramazsa URL sağlanabilir nerede tüm AJAX tabanlı etkileşimleri sonuçta bir seçenek alır Backbone.sync tarafından işlenir

cevap

6

destroy numaralı telefonu arayarak iletebilirsiniz. `yok: function (seçenekler) {Backbone.Model.prototype.destroy.call (bu, _.extend (return aşağıdaki gibi seçenekler geçmesine izin eğer

this.model.destroy({ url: "your-custom-url/" });

+2

Bu, modelin bu bilgiyi tek bir yerde saklaması gerektiğinden, genellikle MVC'nin kötü bir ihlali anlamına gelir. Bu yaklaşım, özel URL'yi görünümler/denetleyiciler içine sızdırabilir. Her uygulamada kategorik olarak kötü tasarım değil, sadece tipik tasarımlar için buna karşı tavsiye ederim. –

+0

tamamen katılıyorum - imha yöntemini geçersiz kılmak kesinlikle tercih edilebilir bir yoldur, aksi halde sadece Backbone'da jQuery spagetti-like code yazılır. – neebz

15
var MyModel = Backbone.Model.extend({ 
    destroy: function (options) { 
     var opts = _.extend({url: '/destroy/' + this.id}, options || {}); 
     return Backbone.Model.prototype.destroy.call(this, opts); 
    } 
)}; 

sayesinde Prats nesne.

+0

daha iyi olurdu {url: '/ destroy /' + this.id}, seçenekler))); } ' – Lukas