code: function() {
      var attributes = {},
          fetchSummary = {},
          modelUtils = this.app.modelUtils,
          nonAttributeOptions = this.nonAttributeOptions;
  
      if (this.attributes) {
        _.extend(attributes, _.result(this, 'attributes'));
      }
      if (this.id) {
        attributes.id = _.result(this, "id");
      }
      if (this.className) {
        attributes['class'] = _.result(this, "className");
      }
  
      // Add `data-view` attribute with view key.
      // For now, view key is same as template.
      attributes['data-view'] = this.name;
  
      // Add model & collection meta data from options,
      // as well as any non-object option values.
      _.each(this.options, function(value, key) {
  
          if (!_.isObject(value) && !_.include(nonAttributeOptions, key)) {
            attributes["data-" + key] = value;
          }
      });
      fetchSummary = BaseView.extractFetchSummary(modelUtils, this.options);
  
      if (!_.isEmpty(fetchSummary)) {
        attributes['data-fetch_summary'] = JSON.stringify(fetchSummary);
      }
      return attributes;
    }
docs: Get HTML attributes to add to el.