Ruby on rails OR子句的数组生成数据类型不匹配错误

Ruby on rails OR子句的数组生成数据类型不匹配错误,ruby-on-rails,postgresql,activerecord,ruby-on-rails-4,rails-activerecord,Ruby On Rails,Postgresql,Activerecord,Ruby On Rails 4,Rails Activerecord,我有以下疑问 friends_ids = [1,2,3] Friend.where("user_id = ? or friend_id = ?", friends_ids, friends_ids) 然而,当我运行它时,我得到了 PG::DatatypeMismatch: ERROR: argument of OR must be type boolean, not type integer LINE 1: ...CT "friends".* FROM "friends" WHERE (

我有以下疑问

friends_ids = [1,2,3]

Friend.where("user_id = ? or friend_id = ?", friends_ids, friends_ids)
然而,当我运行它时,我得到了

PG::DatatypeMismatch: ERROR:  argument of OR must be type boolean, not type integer
LINE 1: ...CT "friends".* FROM "friends"  WHERE (user_id = 2,3 or frien...
很明显,OR子句不喜欢数组,那么我该如何解决这个问题呢

我想你想加入,而不是=:

我想你想进来,不是

friends_ids = [1,2,3]

Friend.where("user_id in (?) or friend_id in (?)", friends_ids, friends_ids)