我正在尝试在我的 Rails 应用程序中实现类似 facebook 的消息传递系统。
我的消息模型如下所示:
sender_id:references
receiver_id:references
body:text
is_read:bolean
现在我需要显示当前登录用户和其他用户之间的所有消息,所以我使用这个代码:
Message.where("sender_id = '#{current_user.id}' OR receiver_id = '#{current_user.id}'")
但是,此查询将威胁send
消息和received
消息分开。我需要以某种方式按receiver_id
和sender_id
列对它们进行分组以显示用户列表,当前登录的用户曾与这些用户交换过消息(就像在 facebook 上一样),但我不太确定应该如何正确完成。
任何帮助,将不胜感激。如果您认为应该以不同的方式完成,请随时告诉我:)