主干.js错误 - 未捕获的类型错误:对象 [对象对象] 没有方法“创建”


Backbone.js error - Uncaught TypeError: Object [object Object] has no method 'create'

Backbone.js with slim.php - 当我添加一个显示错误"未捕获的类型错误:对象 [对象对象] 没有方法'创建'"的新模型时。请帮助我将新模型添加到数据库中。

如果我使用这个.model.save()方法,它会显示500个内部服务器错误。在哪里使用用户创建()和保存()方法。我不清楚这一点。

谢谢。

            // Models
    window.Users = Backbone.Model.extend({
        urlRoot:"./bb-api/users",
        defaults:{
            "name":"",
            "email":"",
            "designation":""
        }
    });
    window.UsersCollection = Backbone.Collection.extend({
        model:Users,
        url:"./bb-api/users"
    });

    // Views
    window.AddUserView = Backbone.View.extend({
        template:_.template($('#new-user-tpl').html()),
        initialize:function(){
            this.model.bind("click", this.render, this);
        },
        render:function(){
            $(this.el).html(this.template());
            return this;
        },
        events:{
            "click .add":"saveUser"
        },
        saveUser:function(){ //alert('saveUser');
            this.model.set({
                name:$("#name").val(),
                email:$("#email").val(),
                designation:$("#designation").val()
            });
            if(this.model.isNew()){
                this.model.create(this.model);
            }
        }
    });

    // Router
    var AppRouter = Backbone.Router.extend({
        routes:{
            "":"welcome",
            "add":"addUser"
        },
        welcome:function(){
            $('#content').html('Welcome to Backbone.js App');
        },          
        addUser:function(){ 
            this.addUserModel = new Users();
            this.addUserView = new AddUserView({model:this.addUserModel});
            $('#content').html(this.addUserView.render().el);
        }

    });
    var app = new AppRouter();
    Backbone.history.start();
if(this.model.isNew()){
    this.model.create(this.model);
}

这段代码是错误的,因为Backbone.Model中没有create方法。您必须调用this.model.save()才能将主干模型发送到您的服务器。
如果模型isNew ,则来自客户端的请求类型将为 create 。如果模型不是新的,则方法update

您可以(并且应该)在此处阅读有关数据同步方法的更多信息:http://backbonejs.org/#Sync。 Backbone.model.save委托给模型的sync方法,以进行实际的 AJAX 请求发送。如果未定义模型的sync,则使用全局 Backbone.sync。