code: function(typeName, id, snapshot) {
          // FIXME If there is a record, try and look up the self link
          // - Need to use the function from the serializer to build the self key
          // TODO: this basically only works in the simplest of scenarios
          var route = this.getRoute(typeName, id, snapshot);
          if(!route) {
            return this._super(typeName, id, snapshot);
          }
  
          var url = [];
          var host = get(this, 'host');
          var prefix = this.urlPrefix();
          var param = /\{(.*?)\}/g;
  
          if (id) {
            if (param.test(route)) {
              url.push(route.replace(param, id));
            } else {
              url.push(route);
            }
          } else {
            url.push(route.replace(param, ''));
          }
  
          if (prefix) {
            url.unshift(prefix);
          }
  
          url = url.join('/');
  
          if (!host && url) {
            url = '/' + url;
          }
  
          return url;
        }
docs: Look up routes based on top-level links.