2011-12-19 3 views
0

안녕하세요, 여러 모델을 통해 하나의 모델에 액세스하는 것이 좋습니다. 전다중 관계를 통해 모델에 액세스

를 들어 내가 클래스 E의 목적이 있다면 나는 지금

Class A 
    belongs_to :b 
end 

Class B 
    belongs_to :c 
    has_many :a 
end 

Class C 
    belongs_to :d 
    has_many :b 
end 

Class D 
    belongs_to :e 
    has_many :c 
end 

Class E 
    has_many :d 
end 

등 5 개 모델을 가지고 내가 E에 관련된 클래스 A의 ojects을 얻으려면,이 할 수있는 올바른 방법이다. .... 또는 클래스 E와 다른 클래스 (B/C) 사이의 관계를 추가해야합니까?

답변

1

정말 당신에게 달렸습니다. 이들을 함께 연결하고 체인을 통해 자주 액세스하는 경우, 관계가 정확한지 스스로에게 질문하십시오.

house.rooms.first.doors.first 

을하지만 종종 있다고한다면, 나는 분명 문에 속하는지에 대해 신경 :

예를 들어 내 집이 많은 객실을 보유하고 공간이 많은 문을 갖는 것을 특징으로하는 경우, 나는이 작업을 수행 할 수 집. 이 경우 차라리 말할 수있을 것입니다 :

house.doors.first_on_floor(2) 

당신이 도움이

has_many :doors, :through => :rooms 

희망이 작업을 수행 할 수 있습니다!

관련 문제