Reputation: 107
I have a BackboneRelational model defined in a file:
define(function (require) {
var Backbone = require('backbone'),
BackboneRelational = require('backbone.relational'),
StudentDetails = require('./StudentDetails');
var Classroom = Backbone.RelationalModel.extend({
url : "../server/student-records.json",
relations : [{
type: Backbone.HasMany,
key: 'studentDetails',
relatedModel: StudentDetails,
collectionType: Backbone.Collection,
fetchRelated: false
}]
});
return Classroom;
});
I am using this model in another file like this:
define(function(require) {
var Marionette = require('marionette'),
Classroom = require('../model/Classroom');
var ClassroomController = Marionette.Controller.extend({
initialize: function(args){
this.mainRegion = args;
var jsondata = new Classroom();
jsondata.fetch({
success:function(){
console.log(jsondata);
......................
....some code here....
......................
}
});
}
});
return ClassroomController;
});
I am gettin Uncaught TypeError: undefined is not a function error at line:
var jsondata = new Classroom();
Can anybody point out where am i going wrong?
Upvotes: 1
Views: 377
Reputation: 5210
This may be because you didn't specify extension from RelationalModel for every single model that is used in relations. Once a model is used in relation you actually MUST extend it by RelationalModel. Hope that helps
Upvotes: 2