Ruby on rails 在解析的json中选择,将id与id数组进行比较

Ruby on rails 在解析的json中选择,将id与id数组进行比较,ruby-on-rails,arrays,json,Ruby On Rails,Arrays,Json,我需要过滤数组结果(通过解析的json获取) 如果我知道确切的id,我可以使用 @my_art = ele_art.select { |articolo| articolo['id'] == 456 } 现在我有了一个名为@myarray的id数组,我需要在ele_art中只选择数组中id为的项 读取我拥有的阵列: [279, 276] 我试过了 @my_art = ele_art.select { |articolo| articolo['id'] == @myarray } 或 没有运

我需要过滤数组结果(通过解析的json获取)

如果我知道确切的id,我可以使用

@my_art = ele_art.select { |articolo| articolo['id'] == 456 }
现在我有了一个名为@myarray的id数组,我需要在ele_art中只选择数组中id为的项

读取我拥有的阵列:

[279, 276]
我试过了

@my_art = ele_art.select { |articolo| articolo['id'] == @myarray }

没有运气


我该如何解决呢?

@my_array
是和
id
s的数组,因此,在这种情况下,您需要检查
articolo['id']
是否包含在
@myarray
中。对于这些情况,Ruby中的
Array
类具有
include?
方法,该方法接收
对象
,如果该对象是否包含在数组中,则返回true/false

因此,在您的情况下,尝试以下方法:

@my_art = ele_art.select { |articolo| @myarray.include?(articolo['id']) }

我明白了,所以,在@myarray中,您有
[279276]
?,在这种情况下,请尝试:
@my_art=ele_art.select{articolo |@myarray.include?(articolo['id')}
。如果有帮助,请告诉我。太好了!!这解决了我的问题!如果您在answare中转换注释,我可以标记解决方案IT!;-)
@my_art = ele_art.select { |articolo| @myarray.include?(articolo['id']) }