2013-12-19 65 views
0

我在使用ember #each語句時遇到了一些困難。我有一個擁有多個與他相關的主題的用戶,並且我想在列表中顯示這些主題。這是我有什麼,但它不會使任何東西:Ember的每條語句

<script type = "text/x-handlebars" id = "user"> 

    {{#if deleteMode}} 
     <div class="confirm-box"> 
      <h5>Really?</h5> 
      <button {{action "confirmDelete"}}> yes </button> 
      <button {{action "cancelDelete"}}> no </button> 
     </div> 
    {{/if}} 

    <h3>Name: {{name}}</h3> 
    <h3>Email: {{email}}</h3> 
    <h3>Subjects:</h3> 
    <ul> 
     {{#each subject in this.user}} 
      <li> 
       {{subject.name}} 
      </li> 
     {{/each}} 
    </ul> 

    <button {{action "edit"}}>Edit</button> 
    <button {{action "delete"}}>Delete</button> 

    {{outlet}} 

</script> 

這裏是我的用戶模型 -

App.User = DS.Model.extend({ 
    name: DS.attr('string'), 
    email: DS.attr('string'), 
    subjects: DS.hasMany('subject')  
}); 

我的主題模型 -

App.Subject = DS.Model.extend({ 
    name: DS.attr('string'), 
    users: DS.hasMany('user') 
}); 

有什麼建議?

+0

你提供正確的模型到控制器?如果你這樣做,你可以請你在jsbin上發佈你的問題的例子,這樣我們可以追溯到你的問題? – Mythli

回答

1

你做錯了。您處於當前用戶的環境中,因此您可以訪問他當前的主題。基本上,你需要做的事情是這樣的:

{{#each subject in subjects}} 
    <li> 
     {{subject.name}} 
    </li> 
{{/each}} 

{{#each subjects}} 
    <li> 
     {{this.name}} 
    </li> 
{{/each}} 
0

用戶是你的範圍,讓你收集

{{#each item in collection}} 

在發送對於您

{{#each subject in subjects}} 
     <li> 
      {{subject.name}} 
     </li> 
    {{/each}}