【问题标题】:How to sort loop based on response value from array如何根据数组中的响应值对循环进行排序
【发布时间】:2021-03-22 08:54:46
【问题描述】:

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

    <% for item in @items %>

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

<% end %>

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3


    【解决方案1】:

    你可以试试:

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

    【讨论】:

    • sort_by 中我得到wrong number of arguments (given 0, expected 1)
    • members是值还是模型,命名为members?如果它只是一个值,那么只需删除“.size”。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-06
    • 1970-01-01
    • 1970-01-01
    • 2014-08-29
    • 1970-01-01
    相关资源
    最近更新 更多