var ContractModel = Backbone.Model.extend({
url: "${g.createLink(controller:'waiverContract', action:'index')}"
})
var contract = new ContractModel({});
contract.fetch();
var contracts = new Backbone.Collection.extend({
model: contract
});
var ContractView = Backbone.View.extend({
initialize: function(){
this.render();
},
render: function() {
var root = this.$el;
_.each(this.model, function(item) {
var row = '<tr><td>' + item + '</td></tr>';
root.find('tbody').append(row);
});
return this;
}
});
var cView = new ContractView({ model: contract, el: $('#contracts') });
Chromeの開発者ツールを開いています。レンダリング関数内でconsole.log(this.model)を実行すると、2つのレコードが.attributesに格納されているオブジェクトの混乱を確認できます。しかし、テーブルに2つの行が追加される代わりに、7.6がオブジェクトになります。(Chromeのコンソールには9つのサブオブジェクトが表示されますが)。
これの多くは私には意味がありません。誰かが私がこれを機能させるだけでなく、それを理解するのを手伝ってくれるでしょうか?cViewをインスタンス化するとすぐにrender()が起動し、モデルに.fetch()を実行するとすぐにajaxが実行されることを知っています。しかし、それは私がこれで理解できることの限界です。