1

私は次の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 %>

しかし、同じコードがundefined2 番目のルートを使用するテンプレートで提供されます。

コレクションが ParkingNonDowntown.Views.Calculator でオーバーライドされているとは思いません。ParkingNonDowntown モジュールは Backbone.View のみを拡張します。

this.answersに設定されていますnew Answer.collection()。これは次のようになります。

// Default collection.
Answer.Collection = Backbone.Collection.extend({
  model: Answer.Model,
  url: '/answers',      
});

これはおそらく十分な情報ではないと思いますが、誰かポインタがありますか? (それが役立つ場合、コードはオープンソースです。)

4

0 に答える 0