2015-10-05 70 views
0

所以這裏是我的JSON數據;如何在backbone.js .eco模板中顯示關聯的JSON數據

{ 
     "team_name": "New Team!", 
     "user_name": "hey_user", 
     "games": [] 
    }, 
    { 
     "team_name": "New Team!", 
     "user_name": "testing_user", 
     "games": [] 
    }, 
    { 
     "team_name": "Another Cool Team!", 
     "user_name": "test_user_2", 
     "games": [] 
    } 

我加入這個我.eco模板:

<% for person in @persons: %> 
    <%= person.team_name %>  
    <%= person.user_name %> <br /> <br /> 
<% end %> 

它輸出這樣的:

New Team! hey_user 
New Team! testing_user 

但我希望它輸出:

New Team! hey_user, testing_user, etc. 

因此,如果是的話,團隊名稱不會繼續出現在每個新用戶身上沒有道理。最好的方法來完成這個?

+0

@Brandon我嘗試了各種方法,但他們要麼不工作(我得到一個錯誤),或者他們似乎不可能爲我想要的。我已經玩弄了索引,但是我無法用頭圍住它。謝謝。 –

+0

它可以幫助其他用戶顯示您嘗試過的內容,但似乎您希望在將對象發送到模板之前對其進行格式設置,以消除重複,而不是在模板中添加大量複雜的邏輯。 – Brandon

+0

@brandon是啊也許有沒有一種好的方法來做到這一點在模板中...我的方法是尷尬的糟糕。我會保留插件。但是,我認爲這可能需要在我的API或我的模型或兩者中解決...... –

回答

0

如果我理解正確,您想按小組對用戶進行分組。您可以使用下劃線的groupBy方法

var groups = _.groupBy(json, 'team'); 

它會給你這樣的事情:

{ 
    "New Team!": [ 
     { 
      "team_name": "New Team!", 
      "user_name": "hey_user", 
      "games": [] 
     }, 
     { 
      "team_name": "New Team!", 
      "user_name": "testing_user", 
      "games": [] 
     } 
    ], 
    "Another Cool Team!": [ 
     ... 
    ] 
} 

然後,你可以通過這個來模板,迭代並打印團隊,然後通過用戶的內部數組迭代。如果您需要數組而不是散列,則可以在其上運行pairs