ROR:两个表之间不相等

时间:2010-12-04 04:00:41

标签: ruby-on-rails

我有三个表:User,User_Interest和Interest

我怎样才能获得其中一个用户没有的兴趣名称?

(我已经为所有人设置了模型。)

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您可以将其设置为User上的类方法,或特定用户的实例方法。对于类方法,请尝试以下方法:

def self.missing_interests(user)
    difference = Interest.all - user.interests
    difference.map { |d| d.name }
end

并使用User.missing_interests(some_user)进行调用。例如,尝试

def missing_interests
    difference = Interest.all - interests
    difference.map { |d| d.name }
end

并使用missing = some_user.missing_interests致电。

这应该返回一个数组,其中包含用户interests关联中未包含的所有兴趣的名称。