rails-api (同じホスト) のレコードをバックボーン コレクションにフェッチしようとしています。私は次のコードを持っています:
// Models
App.GeeksModel = Backbone.Model.extend({
urlRoot: "/geeks",
idAttribute: "id"
});
// Collections
App.GeeksCollection = Backbone.Collection.extend({
url: "/geeks",
model: App.GeeksModel
});
私のルーターには次のものがあります
// Router
App.GeekRouter = Backbone.Router.extend({
routes: {
"": "index"
},
initialize: function() {
console.log("router - init");
},
index: function() {
console.log("route - index");
var geekCollection = new App.GeeksCollection();
var mapView = new App.GeeksMapView({ el: $("#foo"), model: geekCollection });
geekCollection.fetch();
}
});
URLを参照すると、ビューが正しく読み込まれ、サーバーで1つのエントリがデータベースからフェッチされていることがわかります。しかし、ビューでモデルの長さを確認するとすぐに
this.model.length
コレクションは空です...これに関するアドバイスはありますか?
ありがとう
編集1:
インデックスルーター方式を
var mapView = new App.GeeksMapView({ el: $("#map"), collection: geekCollection });
たとえば、ビューの初期化メソッドでコレクションの長さを確認します
...
initialize: function() {
this.render();
console.log(this.collection.length);
},
...
それも 0 を返します...だから何も変わりません!