按字母顺序排列并按首字母分组

Car*_*ssi 6 haml select loops ruby-on-rails

我目前有以下代码:

- @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
Run Code Online (Sandbox Code Playgroud)

这显示了每个字母下的所有术语表术语,而不仅仅是以字母开头的术语.我尝试过一些东西,但我不确定如何选择正确的东西.

CDu*_*Dub 7

您应该可以使用@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
Run Code Online (Sandbox Code Playgroud)