2010-03-11 3 views
1

다음 코드를 통해 tag_counts 해시를 정렬했습니다.레일즈 acts_as_taggable_on은 사전 순으로 그룹화 되었습니까?

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

글자로 그룹화 된 내보기의 태그를 표시하는 가장 쉽고/가장 효율적인 방법은 무엇입니까?

A - "알파", "애플", "아자"

B

- "베타", "정신 나간"

.

.

.

Z - "Zeta", "Zimmer"

아이디어가 있으십니까? 그것의 가장 효율적인 또는 여기에 가장 우아하지만가는 경우 확실하지, 방법을 발견

답변

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(" ") }" 
관련 문제