Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 比较相同值和不匹配值的两个数组_Ruby On Rails_Arrays_Comparison - Fatal编程技术网

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