如何根据数组的响应值对循环进行排序

How to sort loop based on response value from array

下面是我如何循环项目的小结构,我想在我的循环中按成员数量从小到大对它们进行排序,而不是随机显示?我应该如何处理这个问题?另外,如果循环只包含 2 个元素,如何将显示 div 设置为 none?

    <% for item in @items %>

<%= item.name %>
<%= item.members %>

<% end %>

你可以试试:

<% if @items.size > 2 %>
  <div>
    <% @items.sort_by { |item| item.members.size }.each do |item| %>
      <%= item.name %>
      <%= item.members %>
    <% end %>
  </div>
<% end %>