Normally there would be a with(obj||{})
in the compiled template. I don't see one in yours so perhaps the variable
option is in use somewhere:
By default, template places the values from your data in the local scope via the with
statement. However, you can specify a single variable name with the variable setting.
For example, if you:
var t = _.template('<%= x %>');
and then look at t.source
, you'll see a function like this (formatted for clarity):
function(obj){
//...
with(obj||{}){
//...
}
return __p;
}
but if you say:
var t = _.template('<%= x %>', null, { variable: 'E' });
and look at t.source
, you'll see the same structure without the with
block around the guts of the function.
Demo: http://jsfiddle.net/ambiguous/jrEub/
The structure of the template function suggests that you have {variable: 'E'}
somewhere so your template should be look at <% E.url %>
and such instead of just <% url %>
.