5
我無法理解urlRoot
如何在Backbone.js中工作。我試圖從NodeJS/MongoDB後端獲取具有特定_id
的任務。如何正確設置Backbone.js urlRoot方法
我不完全清楚的是如何將id屬性傳遞給URI。我一直在做從Chrome瀏覽器開發工具如下:
var task = new App.Models.Task({ id: '51c09ae7d3b35d29d4dfdecd' });
task.fetch();
我收到以下錯誤:
GET http://localhost:3000/tasks/:_id 500 (Internal Server Error)
如何正確設置呢?
這裏是我的骨幹代碼:
(function() {
window.App = {
Models: {},
Views: {},
Collections: {}
};
App.Models.Task = Backbone.Model.extend({
defaults: {
title: '',
completed: false
},
idAttribute: "_id",
urlRoot: '/tasks/:_id'
});
})();
Evan,你也應該刪除這行 - idAttribute:「_id」 –
刪除'idAttribute:「_id」,'與切換urlRoot一起工作到''/ tasks /''。我有點困惑,因爲我認爲這條線是必要的,因爲Mongo使用'_id',而不是'id'。 Backbone知道如何獲取名爲'_id'的屬性呢? –
我不知道你的後端的細節,但我希望在REST API中使用「id」,但是當你的服務連接到Mongo時,它在那裏使用「_id」。 –