2011-02-15 10 views
2

저는 RoR을 처음 접했습니다. 따라서 부드럽게하십시오.레일에 여러 다 대다 관계를 설정하는 가장 좋은 방법은 무엇입니까?

2 대 다 대다 관계가있는 환경을 설정하려고합니다.

내가 생각하고 것은 : 작동하지 않습니다 하나 개의 클래스에서 하나 개의 속성에 대한 연관을 통해 : 나는 여러 읽은 모든에서

class A 
    has_many :c 
    has_many :d 
    has_many :b, :through=>c 
    has_many :b, :through=>d 
end 

class B 
    has_many :c 
    has_many :d 
    has_many :a, :through=>c 
    has_many :a, :through=>d 
end 

class C 
    belongs_top :a 
    belongs_to :b 
end 

class D 
    belongs_top :a 
    belongs_to :b 
end 

. 그리고이 설정의 목적은 @c .d, 즉 @ a.c와 @ a.d와 @ b.c와 @ b.d를 모두 참조하여 데이터를 쉽게 호출 할 수 있도록하는 것입니다.

의견이 있으십니까?

미리 감사드립니다.

다모

답변

4

여러 has_many 가질 수 있습니다 협회를 통해,하지만 당신은 단지 그들에게 다른 이름을 지정해야합니다

class A 
    has_many :c 
    has_many :d 
    has_many :cb, :through=>c, :class_name => "B" 
    has_many :db, :through=>d, :class_name => "B 
end 
+0

감사 토비! 그 완벽하게 일했다 :) –

관련 문제