2012-06-05 32 views
1

我有一個按照字母順序排列並按名稱顯示的組織列表。我想顯示這些跨4列每一個字母,即:Rails group_by和in_groups_of錯誤

A 
A... A... A... A... 
A... A... A... A... 

... 

Z 
Z... Z... 

我用下面的代碼:

<% @organisations.keys.sort.each do |starting_letter| %> 
    <div class="page-chunk default"> 
     <h6><%= starting_letter %></h6> 
     <% @organisations[starting_letter].each do |organisations| %> 
      <% organisations.in_groups_of(4).each do |column| %> 
       <div class="one_quarter"> 
        <% column.each do |organisation| %> 
         <%= link_to organisation.name, organisation_path(organisation) %><br /> 
        <% end %> 
       </div> 
      <% end %> 
     <% end %> 
    </div> 
<% end %> 

和Controller:

@organisations = Organisation.all.group_by{ |org| org.name[0] } 

但得到undefined method in_groups_of'爲#for my troubles. If I change the code to @organisations [starting_letter] .in_groups_of(4)。每個組織| then I get a NilClass`錯誤。

我做了什麼錯,我該如何解決?

回答

5

嘗試organisations.in_groups_of(4, false) 沒有false,它會在任何空點填補了最後一組與nil s,這意味着它將嘗試調用namenil