私は次の2つのルートを持っています。これは期待どおりに機能します:
panel:function(){
app.layout.setView("div#content", new Answer.Views.Panel({
collection:this.answers,
useTemplate:"panels/"+path
}));
app.layout.render();
},
これはしません:
parkingNonDowntown:function() {
var panel = new(Answer.Views.Panel.extend(ParkingNonDowntown.Views.Calculator.prototype))({
collection: this.answers,
useTemplate: "panels/requirements/city/parking_non_downtown"
});
app.layout.setView("div#content", panel);
app.layout.render();
},
前者のように、テンプレートからコレクションにアクセスできます。
<% answers.field_name %>
しかし、同じコードがundefined
2 番目のルートを使用するテンプレートで提供されます。
コレクションが ParkingNonDowntown.Views.Calculator でオーバーライドされているとは思いません。ParkingNonDowntown モジュールは Backbone.View のみを拡張します。
this.answers
に設定されていますnew Answer.collection()
。これは次のようになります。
// Default collection.
Answer.Collection = Backbone.Collection.extend({
model: Answer.Model,
url: '/answers',
});
これはおそらく十分な情報ではないと思いますが、誰かポインタがありますか? (それが役立つ場合、コードはオープンソースです。)