检查相关模型中用户的记录是否存在

时间:2013-06-09 22:27:51

标签: ruby-on-rails ruby activerecord associations

我有一个has_many关联的用户。协会有一个提供者字段。我想检查用户是否有提供者。如果提供者是用户表上的字段,我只会做provider.blank?如何通过has_many关联进行相同的检查?

编辑:

class User < ActiveRecord::Base

  has_many :authentications

end

class Authentications < ActiveRecord::Base

  belongs_to :user

end

身份验证表包含以下字段

:provider
:user_id
:uid
:id

1 个答案:

答案 0 :(得分:2)

您可以使用以下方法检查用户的任何身份验证是否包含提供程序:

user.authentications.any? {|a| a.provider }
如果在传递Array的每个元素时块返回true,则

any?遍历数组并返回true。当Array为空(即没有Authentications)时,它返回false