urlRoot
Backbone.js'de nasıl çalıştığını anlamakta sorun yaşıyorum. Bir NodeJS/MongoDB arka ucundan belirli bir _id
ile bir görev almayı deniyorum.Backbone.js urlRoot yöntemi nasıl düzgün kurulur?
Tam olarak açık olmayan şey, id özniteliğinin URI'ye nasıl iletileceğidir.
var task = new App.Models.Task({ id: '51c09ae7d3b35d29d4dfdecd' });
task.fetch();
Ve aşağıdaki hatayı alırsınız:
GET http://localhost:3000/tasks/:_id 500 (Internal Server Error)
düzgün bu kurarım nasıl Krom dev araçları aşağıdaki yapıyorum? Ben sadece "/ görevler" olmalıdır idAttribute ve urlRoot tanımlamak gerekmez söyleyebilirim
(function() {
window.App = {
Models: {},
Views: {},
Collections: {}
};
App.Models.Task = Backbone.Model.extend({
defaults: {
title: '',
completed: false
},
idAttribute: "_id",
urlRoot: '/tasks/:_id'
});
})();
Evan, Ayrıca bu satırı silmelisiniz - idAttribute: "_id" –
"idAttribute:" _id "öğesinin kaldırılması, urlRoot'un"/task/"konumuna getirilmesiyle birlikte çalıştı. Biraz kafam karıştı, çünkü Mongo'nun “_id” i değil, “id” kelimesini kullanarak bu hattın gerekli olduğunu düşündüm. Omurga, '_id' denilen özniteliği nereden alacağını biliyor? –
Arka ucunuzun ayrıntılarını bilmiyorum ama REST API'sında "id" nin kullanılmasını beklerdim ancak servisiniz Mongo'ya bağlandığında orada "_id" kullanır. –