2012-07-04 76 views
0

我最近开始学习Rails,并已完成示例应用程序​​。我正在尝试将用户创建的组添加到示例社交网络。我已经陷入了我应该如何塑造这个团队。我知道应该有谁拥有该组的user_id,并且应该有字符串的名称和说明。除此之外,我不知道组数据模型的其他部分应该是什么样子。先谢谢你。什么是在Ruby on Rails中建模组的好方法

回答

1

如果希望用户能够在多个团体的关系应该是这样的

class Group < ActiveRecord::Base 
    belongs_to :owner, :class_name => "User" 
    has_many :memberships 
    has_many :members, :through => :memberships 
end 

class Membership < ActiveRecord::Base 
    belongs_to :member, :class_name => "User" 
    belongs_to :group 
end 

class User < ActiveRecord::Base 
    has_many :memberships 
    has_many :groups, :through => :memberships 
    has_many :owned_groups, :class_name => "Group", :foreign_key => "owner_id" 
end 
+1

非常感谢你。公认。 – rockyroadster555

0

这样的事情呢?

class Group < ActiveRecord::Base 
    has_many :users 
end 

class User < ActiveRecord::Base 
    belongs_to :group 
end 
+0

感谢您的回复,我有几个问题。这是否允许用户加入多个组,并允许用户不在一个组中? – rockyroadster555

+0

@ rockyroadster555不要在一个组中很容易,只是不要给用户一个组。对于多个组,has_many:through可能是您想要的,但如果没有其他用户/组数据,则habtm可以工作。 –

相关问题