Backbone.js collection doesn't listen model change event
<p>I've just started using backbone.js to create a spa. I'm trying to make a books collection listen to model change but nothing happens. This is the model and collection:</p>
<pre><code>var Book = Backbone.Model.extend({

  idAttribute: 'id',

  defaults: {
    id: null,
    title: '',
    author: '',
    completed: false
  }

});

var BooksCollection = Backbone.Collection.extend({

  model: Book,

  url: 'books',

  initialize: function() {
    this.listenTo(this.model, 'change', this.debug);
  },

  debug: function () {
    console.log('something happened !!!');
  }

});
</code></pre>
<p>This is the view:</p>
<pre><code>var BookView = Backbone.View.extend({

    template: _.template($('#viewBook').html()),

    events: {
        &quot;click #save&quot;: &quot;bookSave&quot;
    },

    initialize: function() {
        this.listenTo(this.model, 'change', this.render);
    },

    render: function() {
        $(this.el).html(this.template(this.model.toJSON()));
        return this;
    },

    bookSave: function() {
        this.model.set({author: &quot;nobody&quot;});
    }

});
</code></pre>
<p>When I click on the <kbd>#save</kbd> button the author is changed but nothing is logged. Where am I wrong?</p>