1

次のコードを使用して tag_counts ハッシュをソートした後:

sorted_tags = Contact.tag_counts.sort{ |x,y| x.name.downcase <=> y.name.downcase }

文字でグループ化されたタグをビューに表示する最も簡単で効率的な方法は何ですか?

すなわち

A - 「アルファ」、「アップル」、「アザ」

B - 「ベータ」、「ボンカーズ」

.

.

.

Z - 「ゼータ」、「ジマー」

何か案は?

4

1 に答える 1

1

わかりました。方法が見つかりました。最も効率的かエレガントかはわかりませんが、次のようになります。

-sorted_tags = Contact.tag_counts.sort{ |x,y| x.name.upcase <=> y.name.upcase }.map(&:name)

%ul

  -"A".upto("Z") do |l|

    %li="#{l} = #{ sorted_tags.select{ |x| x.upcase.starts_with?(l)}.map{|k| link_to k, k}.join(" ") }"
于 2010-03-11T07:00:15.830 に答える