title: Backbone collection length always set to one with nested views
body: <p>When the view is loaded, the collection length always return 1 while there is currently 3 members shows up in the parse function. I wondered if the problem was the nested item view, but it seems to behave the same without ! I don't understand why the self.push(member) does not add the model to the collection ! Bit stuck here, any help please ?</p>
  
  <p><strong>The model</strong></p>
  
  <pre><code>define([
  'backbone'
  ], function(Backbone) {
  'use strict';
  
  var MemberModel = Backbone.Model.extend({
    id: "_id"
  
  });
  
  return MemberModel;
  
  });
  </code></pre>
  
  <p><strong>The collection</strong></p>
  
  <pre><code>define([
  'backbone', 
  'models/MemberModel' 
  ], function(Backbone, MemberModel) {
  'use strict';
  
  var Members = Backbone.Collection.extend({
    model: MemberModel,
    url: '/api/v1/users',
  
    parse: function(response, options) {
       var self = this;
  
       _.each(response.users, function(item){
          var member = new self.model();
          member.set('email', item.email);
          member.set('firstname', item.firstname);
          member.set('lastname', item.lastname);
          member.set('group', item.group);
          member.set('city', item.city);
  
          // shows every member's emails
          console.log('member.email='+member.get('email'));
          self.push(member);
  
       });
  
       console.log('this.length='+this.length); // this is always equal to 1
       return this.models;
  
    }
  
  });
  
  return Members;
  
  
  });
  </code></pre>
  
  <p><strong>The view</strong></p>
  
  <pre><code>define([
  'collections/members',                        
  'views/membersItem',
  'text!templates/members.html'
  ], function(MembersCollection, MembersItem, membersTpl) {
  'use strict';
  
  var Members = Backbone.View.extend({
    el: '#settings-content',
     template: _.template(membersTpl),
  
    events: {
       'click #edit-member': 'editMember'
    },
  
    initialize: function() {     
       this.collection = new MembersCollection(); 
  
       this.render();
    },
  
    render: function() {
       this.$el.html(this.template(this.model.toJSON()));
  
       var self = this;
  
       this.collection.fetch({
          success: function() {
             self.renderMember();
          }
       });
  
       return this;
    },
  
    renderMember: function() {     
       // same here collection length = 1
       console.log('collection.length:'+this.collection.length);
  
       _.each(this.collection.models, function (item) {
          var memberView = new MembersItem({model: item});
          $('.list-item', this.el).append(memberView.render().el);
       }, this);
  
    }
  
  
  });
  
  return Members;
  });
  </code></pre>
  
  <p><strong>The nested item view</strong></p>
  
  <pre><code>define([                    
  'text!templates/members_item.html'
  ], function(membersItemTpl) {
  'use strict';
  
  var MembersItem = Backbone.View.extend({
    tagName: "tr",
    className: '.item',
     template: _.template(membersItemTpl), 
  
    initialize: function() {
       this.model.bind("change", this.render, this);
    },
  
    render: function() {
       this.$el.html(this.template(this.model.toJSON()));
       return this;
    }
  
   });
  
   return MembersItem;
  });
  </code></pre>