5
urlRoot
がBackbone.jsでどのように機能するのか理解できません。 NodeJS/MongoDBバックエンドから特定の_id
のタスクをフェッチしようとしています。Backbone.js urlRootメソッドを正しく設定する方法
私が正確にはわからないのは、id属性をURIに渡す方法です。
var task = new App.Models.Task({ id: '51c09ae7d3b35d29d4dfdecd' });
task.fetch();
そして私は、次のエラーが表示さ:私はクロームのdevのツールから、次のことを行ってきた私はこれを適切に設定するにはどうすればよい
GET http://localhost:3000/tasks/:_id 500 (Internal Server Error)
を?私はあなただけ「/タスクを」あるべきidAttributeとあなたのurlRootを定義する必要はありませんと言うでしょう
(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/'に切り替えることができます。私は、 'id 'ではなく' _id'を使ってMongoのために行が必要だと思ったので少し混乱しています。 Backboneは '_id'という属性を取得する方法をどのように知っていますか? –
あなたのバックエンドの詳細はわかりませんが、 "id"はREST APIで使用されていますが、あなたのサービスがMongoに接続するときにはそこに "_id"が使用されると思います。 –