1

組織のリストがグループ化され、名前でアルファベット順に表示されています。これらを文字ごとに4列に表示したい、つまり:

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 %>

そしてコントローラーで:

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

ただしundefined method、# for my troubles. If I change the code to@organisations[starting_letter].in_groups_of(4).each do |organisations| については in_groups_of を取得してください。then I get aNilClass` エラー。

何が間違っていて、どうすれば修正できますか?

4

1 に答える 1

6

organisations.in_groups_of(4, false) なしで試してくださいfalse。最後のグループの空のスポットをnilsで埋めます。これは、を呼び出そうとすることを意味しnameますnil

于 2012-11-09T22:25:24.437 に答える