2013-02-05 44 views
0

我想組一個集合按字母順序按標題:分組與組標題Rails的

@projects = Project.find_all_by_user_id(current_user.id) 

視圖應包含的項目清單按標題分類,例如:

A 
Andre's Project 
Ananas 

C 
Chemnitz 
Cleopatra 

F 
Find a new office 

S 
Super secret stuff 

但我不知道如何在rails中做到這一點。軌道提供了一個功能來做到這一點,還是我需要編寫我自己的循環尋找標題等?

謝謝!

回答

3

不是Rails,但Ruby的伎倆。在你看來:

<% @projects.group_by{ |project| project.name[0].downcase }.each do |letter, projects| %> 
    <div id="letter-<%= letter %>" class="letter-group"> 
    <h2><%= letter.upcase %><h2> 
    <% projects.each do |project| %> 
     <p><%= link_to project.name, project %></p> 
    <% end %> 
    </div> 
<% end %> 

group_byruby-doc)返回一個哈希,你可以很容易地通過循環與字母鍵和相應的項目作爲值的數組。請務必按照項目名稱排序:(在您的控制器中)

@projects = Project.order("name ASC").find_all_by_user_id(current_user.id)