1

次のように、Ruby on Rails を使用して mySQL データベースからデータを取得しています。

def all_specs
   Specialization.order("title ASC").all;
end

さて、ビューファイルでこのデータを次のように並べ替えたいと思います。

 <div class="nav-column">
   <h3>A</h3>
    <ul class="submenu">
        <li><a href="#">All data that has title that starts with A</a></li>
    </ul>
</div>   

 <div class="nav-column">
   <h3>A</h3>
    <ul class="submenu">
        <li><a href="#">All data that has title that starts with B</a></li>
    </ul>
</div>   

and so on from A-Z

どうすればそれを達成できますか?

4

2 に答える 2

0

大変お世話になりました。Zippie は素晴らしいソリューションを提供してくれました。これは、全員のハッシュの実装と反復です。

<% 
 institutions_c = all_institution_categories
 inst_by_first_letter = institutions_c.group_by { |inst| inst.title[0] }
%>

<% inst_by_first_letter.each do |key, value| %>
    <div class="nav-column">
          <h3><%= key %></h3>
            <ul class="submenu">
              <% value.each do |cat| %>

                  <li><%= link_to cat.title, institutions_path(:categories => cat.id), :title => cat.title %></li>

              <% end %>
            </ul>
    </div>  
于 2013-08-29T20:35:28.227 に答える