2013-03-13 5 views
0

У меня есть модель пользователя, у каждого пользователя есть художник, и у каждого художника есть несколько альбомов. Я пытаюсь отобразить представление, чтобы показать профиль пользователя. Когда я пытаюсь сделать вид, я получаю следующую ошибку:backbone view запрашивает модель Im, не использующая

Uncaught ReferenceError: albums is not defined 
(anonymous function) b.template.c underscore-min.js:30 
Backbone.View.extend.render profile.js:13 
Backbone.Router.extend.profile router.js:62 
... 

Вроде бы я не передавая объект альбома в шаблон, но я не использую любой переменный альбом в этом шаблоне, ни в вид. Вот код для обоих:

Вид:

headerT = require('text!templates/user/profile_header.html'); 
    profileT = require('text!templates/user/profile.html'); 
    var profilesView = Backbone.View.extend({ 
    el: $('#main-container'), 
    initialize: function(){ 
    this.template = _.template(profileT);                         
    this.artist = this.model.get('artist'); 
    }, 

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

Шаблон:

<div class="row"> 
    <div class="grid_3"> 
     <img src="<%=user.pict%>" class="frame" alt=""> 
     <span class="title">Username &ndash; <strong><%=user.username%></strong></span> 
     <%if(current_user!=undefined && (current_user.get('is_admin') == true || current_user.get('id') == user.id)){%> 
      <span class="title"><span class="icon user"></span> <a href="#/editProfile/">Edit Profile</a></span> 
     <%}%> 
     <%if(artist.active==true){%> 
      <div><a href="#/artistProfile/">Go to Artist Profile</a></div> 
     <%}%> 
     <div class="separator"></div> 
    </div>                                    
    <div class="clear"></div> 
</div>  
+0

Что находится в 'profileT' во время компиляции шаблона? – WiredPrairie

+0

Теперь я получаю это, спасибо @WiredPrairie, у меня была другая переменная с именем profileT в другом представлении, где я сохранил шаблон, который я использую, чтобы отобразить профиль исполнителя. Кажется, что эти переменные находятся в одной области, хотя они находятся в разных файлах = S. Я изменил имя одного из них, и он сработал. – Nocturn

ответ

0

Я изменил имя переменной, державшего шаблон, и она работала. У меня была другая переменная с тем же именем, в которой был другой шаблон (в котором были альбомы), и он загружал его. Я думал, что сфера была иной, потому что она была в другом файле, но это не так.

Смежные вопросы