我一直在努力解决这个问题,经过一番搜索,我无法在网上找到任何东西。用户从几个学习会话日期中选择(他们的第一个选择是对他们来说最方便的一个)并且我将他们的选择存储为与所选日期相对应的Id。 Id被存储为每个用户的数组(例如:[1,3,2,4])。每个学习课程都有一个能力,所以我需要做的就是按照他们的第一选择进行排序,但如果他们的第一选择是超出能力,我需要将它们放入第二选择。到目前为止,我已经完成了第一选择的分组,但我不知道如何将超出容量的所有用户放入他们的第二选择。到目前为止,这是我的代码:
<% @choices.all.group_by { |choice| choice.choice.first}.each do |date, choices| %>
<%= @options.where(:id => "#{date}").first.date.strftime('%B %d, %Y') %>
at
<%= @options.where(:id => "#{date}").first.time.strftime('%l:%M %P') %>
<ul>
<% choices.each do |sort| %>
<li><%= sort.name %></li>
<% end %>
</ul>
<% end %>
感谢您的帮助!