如何从发现页面中排除当前用户已经关注的用户?

时间:2019-06-18 06:42:05

标签: ruby-on-rails

我正在尝试排除发现页面中已经关注的用户。页面加载后,current_user所关注的用户应从发现页面中删除。到目前为止,我已经设法通过以下方法从发现页面中排除了current_user

def User.all_except(user)
  where.not(id: user)
end  

尽管不太确定如何从发现页面实施逐步淘汰关注的用户。

是否与上述代码类似,是从关系模型followed_id中选取的,如下所示:

 Relationship.where.not(follower_id: user.id)

1 个答案:

答案 0 :(得分:2)

不确定字段名称是否正确,但是给定您有一个模型列的关系,其中folder_id和followed_id应该类似于:

User.where.not(id: Relationship.where(follower_id: user.id).select(:followed_id))

它将生成这样的子查询:

  

选择...从ID不在的用户中(选择FROM_ID从...的用户)