Ruby on rails 比较相同值和不匹配值的两个数组
我试图比较两个数组,如果有匹配值或没有匹配值,则显示不同的结果Ruby on rails 比较相同值和不匹配值的两个数组,ruby-on-rails,arrays,comparison,Ruby On Rails,Arrays,Comparison,我试图比较两个数组,如果有匹配值或没有匹配值,则显示不同的结果 @codes.each do |code| accessible_codes = code.roles.pluck(:role_id) current_users_roles = current_user.roles.pluck(:role_id) (accessible_codes & current_users_roles).each {|i| if i puts "accessible
@codes.each do |code|
accessible_codes = code.roles.pluck(:role_id)
current_users_roles = current_user.roles.pluck(:role_id)
(accessible_codes & current_users_roles).each {|i|
if i
puts "accessible"
else
puts "not accessible"
end
}
end
目前我只得到“可访问”的输出。如何比较每一个数组并获得正确和错误的情况?您正在迭代这两个数组的交集。听起来您想检查该交叉点中是否有任何元素。你会想要这样的东西:
current_users_roles = current_user.roles.pluck(:role_id)
@codes.each do |code|
accessible_codes = code.roles.pluck(:role_id)
if (accessible_codes & current_users_roles).empty?
puts "not accessible"
else
puts "accessible"
end
end