2

私はバックボーンが初めてで、アプリ内のモデルの単純な「保存」が機能しない理由を理解しようとしています。保存しようとしているログイン ウィンドウのモデルがあります。モデルは次のように初期化されます。

window.myapp.login = new window.myapp.Models.Login();
window.myapp.signinBox = new window.myapp.Views.Signin({model: window.myapp.login});
window.myapp.signinBox.render();

現在、signinBox でさまざまなイベントをリッスンし、this.model.get と this.model.set を呼び出します。すべて正常に動作します。しかし、私が電話しようとすると

this.model.save();

私は得る: Uncaught Error: A "url" property or function must be specified

モデル クラスは次のようになります。

window.myapp.Models.Login = Backbone.Model.extend({
    defaults:{
        modelType:'login',
        urlRoot:'/rest/login',
        password: "",
        rememberMe: false,
        isAuthenticated: false
    }
})

ここで何が間違っているのか分かりますか?

私が気付いたことの 1 つは (私が初心者であり、これは些細なことかもしれないと述べたように)、this.model の下ではなく、this.model.attributes の下に urlRoot が表示されないことです。これは、こうあるべきなのだろうか?

4

1 に答える 1

2

デフォルト ハッシュ (または関数) は、モデル属性のデフォルト属性を指定するために使用されます。ただし、urlRootBackbone.Modelは、ルート レベルを設定する必要があるの別のプロパティです。

window.myapp.Models.Login = Backbone.Model.extend({
    urlRoot: '/rest/login',
    defaults:{
        modelType:'login',       
        password: "",
        rememberMe: false,
        isAuthenticated: false
    }
})
于 2013-04-07T09:49:35.400 に答える