2012-07-04 109 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可以工作。 –

相關問題