我无法理解urlRoot
在Backbone.js中的工作原理。我试图从NodeJS / MongoDB后端获取具有特定_id
的任务。
我不清楚的是如何将id属性传递给URI。我一直在使用Chrome开发工具执行以下操作:
var task = new App.Models.Task({ id: '51c09ae7d3b35d29d4dfdecd' });
task.fetch();
我收到以下错误:
GET http://localhost:3000/tasks/:_id 500 (Internal Server Error)
如何正确设置?
这是我的Backbone代码:
(function() {
window.App = {
Models: {},
Views: {},
Collections: {}
};
App.Models.Task = Backbone.Model.extend({
defaults: {
title: '',
completed: false
},
idAttribute: "_id",
urlRoot: '/tasks/:_id'
});
})();
答案 0 :(得分:5)
查看http://backbonetutorials.com/what-is-a-model/的指导我会说你不需要定义idAttribute,你的urlRoot应该只是“/ tasks”。 Backbone应该处理剩下的事情。
注意:我自己还没有使用Backbone,但一直在阅读它。