有没有办法比较一个集合中的值,看看它是否在另一个集合中?我试图将current_users.groups
与其中的内容进行比较
@service_requests.unit.groups
如果匹配,我将只显示用户服务请求。以下是有效的,但它并不是我所寻找的,因为它会列出多个结果。基本上,如果current_user在该组中并且未显示所有服务请求,我正在寻找仅显示组服务请求的方法。
可能最好从索引视图中删除它并尝试制作一个范围?
<% @service_requests.each do |sr| %>
<% current_user.groups.each do |group| %>
<% if sr.unit.group == group.title %>
<%= group.title %>
<%= group.description %>
<% end %>
<% end %>
<% end %>
答案 0 :(得分:2)
假设current_users.groups
等于
[{name: 'it'}, {name: 'graphics'}, {name: 'marketing'}]
和@service_requests.unit.groups
等于
[{name: 'graphics'}, {name: 'test'}]
然后你可以得到这两个数组的交集:
current_users.groups & @service_requests.unit.groups # => [{name: 'graphics'}]
另请参阅this link了解其他情况。