我正在创建自己的Rails消息系统,使用Facebook&短信一对话每两人输入一个角色模型。我现在已经研究并计划了几个小时,并决定我将拥有Conversation
模型以及Message
模型。消息将属于对话并保留内容。会话模型将用于寻找这两个人之间的对话。
以下是我的Conversation模型目前在迁移中的样子:
create_table :conversations do |t|
t.integer :participant_id
t.integer :initiator_id
t.timestamps
end
然而,有了这个,在找到对话时,我将不得不在current_user.id
和participant_id
列中搜索initiator_id
!这对我来说根本不是一种好的做法。我的另一个想法是将两者都存储在一个两个数组中,并查找当前是否存在current_user.id。
(TL; DR)我的问题:以这种方式或在数组中存储参与对话的用户是否更有效率?或者有第三种,最有效的方法吗?
提前感谢您,所有答案都非常受欢迎!