Tejas C
Tejas C

Reputation: 107

Backbone Relational - Uncaught TypeError: undefined is not a function

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

Answers (1)

roman
roman

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

Related Questions