通过以下代码对tag_counts哈希进行了排序:
sorted_tags = Contact.tag_counts.sort {| x,y | x.name.downcase< => y.name.downcase}
在我的视图中以字母分组显示标签的最简单/最有效的方法是什么?
即
A - “Alpha”,“Apple”,“Aza”
B - “Beta”,“Bonkers”
Z - “Zeta”,“Zimmer”
有什么想法吗?
答案 0 :(得分: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(" ") }"