如何在Rails 2.3中的.each循环中进行排序

TJ *_*ill 5 ruby-on-rails view

这是我在视图中的代码.Controller只是从模型中获取@category.

这种方式无效.最终我需要它按名称按字母顺序排序.

    <%- @category.brands.sort_by{|brand| brand.name}.each do |brand| -%>
    <li <%= "class='current'" if brand == @brand %>><%= link_to(brand.name, [@category, brand]) %></li>
<%- end -%>
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

gha*_*yes 10

我会直接使用sort函数:

 <% @category.brands.sort { |a,b| a.name <=> b.name }.each do |brand| %>
   <li <%= "class='current'" if brand == @brand %>>
     <%= link_to(brand.name, [@category, brand]) %>
   </li>
 <% end %>
Run Code Online (Sandbox Code Playgroud)