2012-07-04 2 views
0

저는 최근 레일 학습을 시작했으며 http://ruby.railstutorial.org에서 샘플 애플리케이션을 완료했습니다. 사용자 소셜 그룹을 샘플 소셜 네트워크에 추가하려고합니다. 나는 그룹을 정확하게 모델링해야하는 방법에 집착했다. 그룹을 소유 한 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은 추가 사용자/그룹 데이터가 없으면 작동합니다. –

관련 문제