我计划在成员之间实现私人消息系统.我想知道什么是首选方法.
要求是
我应该可以像这样轻松地检索它们
@user.conversations #Should return User objects that I sent or received messages from (but not me)
@user.conversations.messages #Messages from all or specific user objects.
@user.conversations.messages.unread #Unread messages
Run Code Online (Sandbox Code Playgroud)当调用@ user.conversations时,应仅检索向我发送消息的人或我发送消息的人.应排除current_user.
如果我是sender_id = 5并发送to_id = 10那么,另一个人将回复发送者= 10 to_id = 5.这应该被视为并理解为相同的会话对象.
关于最后一点.我不确定什么是首选的建模方法.
最好使用一个Conversation模型来处理所有消息,例如
attr_accessible :user_id, :friend_id, :message, :read
belongs_to :user
Run Code Online (Sandbox Code Playgroud)
或者,最好创建一个Conversation模型来处理关联和消息的Message模型.
我想看看如何实现这种关系的示例案例,以及是否有其他方法可以实现.
我在这里有点失落.