2011-05-28 85 views
1

我想要一个“组”有很多成员。我已经有一个用户和一个配置文件模型,如果用户将自己标识为“组”,我希望它能够列出其成员。因此,我正在考虑让一个配置文件has_many :members, :class_name => 'User'这样一个“组”可以选择现有的用户。但是,我也想让一个组列出不存在用户的成员。我将如何建立这种关联?我是否正确地做这件事?你如何建立这种关联?

+0

so a Profile has_many members(User)?和用户belongs_to配置文件? – 2011-05-28 04:27:48

+0

是的,除个人资料belongs_to用户 – user773804 2011-05-28 04:28:13

+0

这将有助于看到您的模型。想向我们展示您在每个模型中的现有关联? – 2011-05-28 06:49:52

回答

0

“让一组列表成员没有被现有用户” - 你的意思是“让一组列表用户没有被现有成员”?

如果是这样,那么这个答案我给了一段时间后可能会有所帮助:How to find all items not related to another model - Rails 3

+0

不是真的,我的意思是我想让一个组(aka配置文件)有很多用户,但我希望他们既可以是数据库中的现有用户,也可以让他们通过指定不在数据库中的新用户一个名字,将是一个字符串。 – user773804 2011-05-28 04:37:27

+0

哥们你在吹我的脑海。 – 2011-05-28 06:49:07

0

在您的用户模型与此拉姆达尝试:

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:这没有测试