群组有很多用户。 我有2个activerecord数组: 1. groups =包含具有用户的组。 2. users =包含参加活动的用户。
我首先迭代这些组。然后我迭代用户 第二个数组并在第一个数组中搜索该用户(请参阅 码)。如果找到用户,则从阵列中显示和删除。
<% groups.each do |group| %>
<h2><%= group.title %></h2>
<% users.each do |user| %>
# I want to search for user in group.users
# and if present show here and remove the user from
# group.users (remove from the array not from the database)
<% end %>
<% end %>
我不知道如何在另一个活动记录数组中搜索用户 然后删除他。 非常感谢所有帮助。
谢谢
答案 0 :(得分:2)
直接回答您的问题,即显示并删除所有froups用户感兴趣的用户:
<% @groups.collect { |group|
group.users.delete_if { |user|
user == my_user
}
}.flatten.each do |user| %>
<%= ((display user)) %>
<% end %>
可替换地,
<% @groups.each do |group| %>
<% if user = group.delete(my_user) %>
<%= ((display user)) %>
<% end %>
<% end %>