如何正确设置Backbone.js urlRoot方法

时间:2013-06-18 19:17:42

标签: jquery backbone.js

我无法理解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'
  });

})();

1 个答案:

答案 0 :(得分:5)

查看http://backbonetutorials.com/what-is-a-model/的指导我会说你不需要定义idAttribute,你的urlRoot应该只是“/ tasks”。 Backbone应该处理剩下的事情。

注意:我自己还没有使用Backbone,但一直在阅读它。