Rails act_as_taggable_on сгруппированы по алфавиту? - PullRequest
1 голос
/ 11 марта 2010

Сортировав хэш tag_counts по следующему коду:

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

Какой самый простой / эффективный способ отображения тегов в моем представлении, сгруппированных по буквам?

1007 * т.е. *

А - «Альфа», «Яблоко», «Аза»

B - «Бета», «Бонкерс»

.

.

.

Z - "Зета", "Циммер"

Есть идеи?

1 Ответ

1 голос
/ 11 марта 2010

Хорошо, я нашел способ, не уверен, что он самый эффективный или самый элегантный, но здесь идет речь:

-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(" ") }"
...