Ruby on Rails为2个id选择多行

时间:2017-09-25 14:14:41

标签: ruby-on-rails ruby

我想创建一个私人消息系统,我在选择两个用户之间的所有消息时遇到了一些麻烦。

如果我有一个名为messages的表:

id - 消息ID
内容 - 消息内容
user_id - 发件人ID
to_id - 到id

消息控制器:

@from_user = User.find_by(username: params[:name])
@messages = Message.where(user: [@from_user, current_user], to_id: [current_user, @from_user])

谢谢!

1 个答案:

答案 0 :(得分:0)

试试这个:

from_id = @from_user.id
to_id = current_user.id

Message.where("
  (user_id = #{from_id} AND to_id = #{to_id})
  OR
  (user_id = #{to_id} AND to_id = #{from_id})
")