listView ページでアイテムを選択した後、正しい ID が渡されていることがわかりますが、何らかの理由で、私のコードは常に同じモデルを返します。
// main.js (relavent function)
venueDetails: function (id) {
// here, id is correct
var venue = new Venue({_id: id});
venue.fetch({success: function(){
// here, the id of venue is changed for some reason
console.log(venue.id);
$("#content").html(new VenueView({model: venue}).el);
}});
this.headerView.selectMenuItem();
},
モデル、
// model.js (relavent model)
var base = 'http://localhost:3000';
window.Venue = Backbone.Model.extend({
urlRoot: base+"/venues",
idAttribute: "_id",
});
window.VenueCollection = Backbone.Collection.extend({
model: Venue,
url: base+"/venues?populate=true"
});
画像では、model.id が URL の内容と異なる場所を確認できます。
編集:ルーターマッピングを追加
var AppRouter = Backbone.Router.extend({
routes: {
"" : "home",
<!-- venues -->
"venues" : "venueList",
"venues/page/:page" : "venueList",
"venues/add" : "addVenue",
"venues/:id" : "venueDetails",