Rendu de la collection Backbone.js en tant que liste de sélection

J'essaie de rendre un Backbone.js collection select liste à l'aide d'un Underscore.js modèle, et la liste n'est pas remplie. Le select élément est de l'affichage, mais il n'y a pas options.

J'ai confirmé que je suis capable de passer des propriétés individuelles dans mon template et de les rendre aussi label éléments, de sorte que la question doit être la façon dont je suis en train de gérer la collecte.

Voici mon épine Dorsale code:

Rate = Backbone.Model.extend({
    duration : null
});

Rates = Backbone.Collection.extend({
    initialize: function (model, options) {
    }
});

AppView = Backbone.View.extend({
    el: $('#rate-editor-container'),
    initialize: function () {
      this.rates = new Rates(null, { view: this } );

      this.rates.add(new Rate ({ duration: "Not Set" }));
      this.rates.add(new Rate ({ duration: "Weekly" }));
      this.rates.add(new Rate ({ duration: "Monthly" }));

      this.render();
    },
    render: function() {
      var rate_select_template = _.template($("#rate_select_template").html(), {rates: this.rates, labelValue: 'Something' });
      $('#rate-editor-container').html(rate_select_template);
    },
});

var appview = new AppView();

Et mon template:

<script type="text/template" id="rate_select_template">
  <select id="rate-selector"></select>
  <% _(rates).each(function(rate) { %>
    <option value="<%= rate.duration %>"><%= rate.duration %></option>
  <% }); %>
</script>

<div id="rate-editor-container"></div>

Des suggestions?

source d'informationauteur Josh Earl