我目前有以下代码:
- @alpha = Glossary.find(:all, :order =>"title ASC").group_by{|u| u.title[0]}
- @glossary = Glossary.find(:all, :order =>"title ASC")
- @alpha.each do|a|
%h1= a[0]
- @glossary.each do |g|
%p display stuff
这会显示每个字母下的所有词汇表术语,而不仅仅是以字母开头的词汇表。我尝试过一些东西,但我不确定如何选择正确的东西。
答案 0 :(得分:6)
您应该可以使用@alpha
实例变量执行所有操作,因为您使用的是group_by
:
- @alpha = Glossary.find(:all, :order =>"title ASC").group_by{|u| u.title[0]}
- @alpha.each do |alpha, glossary_array|
%h1= alpha
- glossary_array.each do |item|
%p= item
答案 1 :(得分:4)
你很亲密。我想你只想做
- @alpha = Glossary.order("title ASC").group_by{|u| u.title[0]}
- @alpha.each do |letter, items|
%h1= letter
- items.each do |item|
%p= item