【问题标题】:Friendship model, how to determine if a friendship model already exists between 2 users友谊模型,如何确定2个用户之间是否已经存在友谊模型
【发布时间】:2011-12-14 00:26:06
【问题描述】:

我有一个朋友模型

user_id, friend_id, status (approved, pending, ignored)

鉴于用户当前已登录,我希望能够执行类似的操作

current_user.friendship_exists(@user)

用于判断已登录用户是否与其他用户建立友谊的信息。当记录已经存在时,防止任一用户再次看到“添加朋友”。

理想情况下,我可以向创建友谊的用户显示“已发送好友请求”

以及需要采取行动“回应友谊请求”的用户,然后我可以选择批准和拒绝选项。

关于如何做到这一点的想法?显示任一按钮

  • “添加好友”
  • “已发送好友请求”
  • “回复好友请求”

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 activerecord activemodel


    【解决方案1】:

    如果您只是在寻找friendship_exists 方法,那么它已经内置在Rails 中(假设您的User 模型有很多朋友):

    current_user.friends.exists?(@user)
    

    【讨论】:

    • 但是这个检查是哪一列,user_id 或friend_id 它有可能在任何一个中。关于如何生成 3 个按钮的任何想法?
    • 既然存在,它检查哪一列应该无关紧要吗?方法只会检查朋友对象,看看它们是否匹配@user。就按钮而言,您在寻找什么样的建议?你的问题在那个领域有点含糊。
    猜你喜欢
    • 2011-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-30
    • 1970-01-01
    • 2023-04-04
    • 1970-01-01
    相关资源
    最近更新 更多