如何查看记录是否已存在

时间:2011-10-18 01:28:44

标签: ruby-on-rails

我有一个Friendship模型,允许用户彼此成为朋友。这些Frienships的记录包含requesting_user_idaccepting_user_id。我想构建一个方法来检查具有相同的accepting_user和requests_user对的记录是否已经存在。简而言之,一个用户已经与另一个用户结识。

我是在我的User模型中开始的:

def can_befriend?(accepting_user)
  @accepting_user = Friendship.find_by_accepting_user_id(accepting_user)
  @requesting_user = current_user
end

但我不确定如何检查该对尚不存在。有什么帮助吗?

1 个答案:

答案 0 :(得分:2)

您实际上可以使用动态的交叉查找器方法来同时搜索这两种方法。这是一口,但应该工作。

@old_friendship = Friendship.find_by_accepting_user_id_and_requesting_user_id(accepting_user.id, requesting_user.id)
if @old_friendship.nil?
    #create new friendship here
end