任何人都实现了管理用户朋友的方式(双向友谊)和数据库中的粉丝。
意味着我想要实现的目标: 1)user1向user2发送连接请求。 2)然后user2接受user1作为朋友或关注者或拒绝它。 3)如果user2接受user1为朋友,那么这种友谊就是双向友谊。
我正在考虑处理这件事: 1)我将创建一个友谊表。 2)维护用户的关系列是关注者/朋友。 3)如果用户是朋友,那么我将创建两个条目以保持两端的朋友关系。
请你建议我处理这种情况的最佳方法(gems / plugin)。
答案 0 :(得分:1)
您应该与以下字段建立友谊
1] user_id
2] friend_id
3] status
用户首次发送友情请求status
时必须Pending
,当朋友accept/reject
请求时,应将其更改为Accepted/Rejected
答案 1 :(得分:0)
您可以创建一个包含列的表 - USER_A,USER_B,RELATION。现在,您可以创建常量或枚举来定义USER_A和USER_B之间的关系。对于例如0表示无关系,1表示USER_A - > USER_B(用户A跟随用户B),2代表USER_B - > USER_A(用户B跟随用户A),3表示USER_A< - > USER_B(这意味着两种方式。) 如果不需要历史记录,则可以更新同一行,否则可以在关系更改时再添加一行。 希望有用!
答案 2 :(得分:0)
您可以查看socialization gem,为您的ActiveRecord模型提供喜欢,关注和提及。