【问题标题】:friendship/follower functionality in railsRails 中的友谊/追随者功能
【发布时间】:2012-10-15 11:03:07
【问题描述】:

任何人都实现了一种方法来管理数据库中的用户朋友(两种方式的友谊)和关注者。

表示我想要实现的目标: 1) user1 向 user2 发送连接请求。 2)然后 user2 接受 user1 作为朋友或关注者或拒绝它。 3) 如果 user2 接受 user1 作为朋友,那么这个友谊就是双向友谊。

我正在考虑如何处理这个问题: 1)我将创建一个友谊表。 2) 维护用户的关系栏是follower/friend。 3)如果用户是朋友,那么我将创建两个条目来维护两端的朋友关系。

您能否建议我处理这种情况的最佳方法(宝石/插件)。

【问题讨论】:

  • 您的方法看起来不错。你应该实现它。

标签: ruby-on-rails


【解决方案1】:

你应该与以下领域建立友谊

1] user_id
2] friend_id 
3] status

首先当用户发送好友请求时status必须是Pending,当好友accept/reject请求时,它应该更改为Accepted/Rejected

【讨论】:

    【解决方案2】:

    您可以创建包含列的表 - 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(这意味着双向。) 然后,如果您不需要历史记录,则可以更新同一行,否则您可以在关系更改时再添加一行。 希望有效!

    【讨论】:

      【解决方案3】:

      您可以查看socialization gem,它为您的 ActiveRecord 模型提供喜欢、关注和提及。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-05-13
        • 2012-08-22
        • 1970-01-01
        • 2019-07-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多