在Rails 4中,你可以使用ActiveRecord的where方法结合IN操作符来判断数组属性是否包含数组中的任何一个值。以下是一个示例:
假设你有一个名为User的模型,其中有一个tags属性是一个数组类型。你想要检查tags属性是否包含数组['tag1', 'tag2']中的任何一个值。
tags_to_check = ['tag1', 'tag2']
users = User.where("ARRAY[?] && tags", tags_to_check)
这里的ARRAY[?]将tags_to_check数组转换为PostgreSQL数组,&&是一个PostgreSQL数组操作符,用于检查两个数组是否有交集。tags是你的User模型的数组属性。
如果users数组不为空,说明至少有一个用户的tags属性包含了tags_to_check中的任何一个值。
希望对你有帮助!