比如一般 App 内部需要的私信功能,用户可以和另一个用户私聊
不知道应该怎么设计?有什么可以参考吗?
如果我是来的话: 发起聊天之后,先给两个用户之间,创建一个唯一的chat, 然后chat has_many message,每个 message 确定作者是谁
chat
chat has_many message
还有另外一个思路,就是设计成邮件的形式,每个 message 有一个接收方有一个发出方
然后前端,可能是需要用 angular JS 之类来做绑定?
私信的话,可以参考 has_messages 这个 Gem 的数据结构
#1 楼 @huacnlee 居然还有这个 gem...我以前从来没搜到过 原来是....https://github.com/huacnlee/has_messages
如有需要 去看看 阿里悟空 吧
我直接来的
message: from: from user id to: to user id msg: msg body unread: true/false
#4 楼 @flowerwrong 这样的话,在聊天的 index 下面(比如),应该怎么查询? 比如这种,这样的话,是对 messages 做 uniq 和最新的?
#5 楼 @cqcn1991 这种更像是无限极评论。我的那个是类似微信聊天的设计。参考 acts_as_commentable_with_threading 上面那种好一点。
try elixir's phoenix
ref https://cnodejs.org/topic/561e789e30e69d1b2ad8b27f
#6 楼 @flowerwrong 额,就是问的微信聊天的设计,也是有一个每个人之间的对话嘛~ 怎么显示最新的和各个人的对话列表?(因为显然 user.message.all 不行嘛,因为很多信息是来自同一个用户)