我希望一个"组"有很多成员。我已经有了一个用户和一个配置文件模型,如果用户将自己标识为"组",我希望它能够列出其成员。因此,我想让一个配置文件has_many :members, :class_name => 'User'
,这样一个"组"就可以选择现有的用户。但是,我也想让一个组列出不是现有用户的成员。我将如何建立这个协会?我这样做对吗?
"让一个组列出不是现有用户的成员"——你的意思是"让一组列出不是成员的用户"吗?
如果是这样的话,那么我刚才给出的这个答案可能会有所帮助:如何找到与另一个模型无关的所有项目-Rails3
在您的用户模型中尝试使用此lambda:
named_scope :not_members, lambda { |profile_id| where("id NOT IN (?)",
User.where( :profile_id => profile_id ).map(&:id) ) }
稍后在您的代码中:
@not_members = User.not_members(some_profile_id)
PS:未测试