2014-01-06 5 views
0

나는 커플 모델얻기 모든 기록이`has_many, through` 관계는 멀리

class AAA < ActiveRecord::Base 
    has_many :bbbs, through: :some_other_model 
end 

class BBB < ActiveRecord::Base 
    has_many :cccs, through: :yet_another_model 
end 

내가 의지하지 않고 모든 CCCs의 단순 목록을 얻을 수있는 방법, 나는 AAA의 인스턴스에 대한 참조를 가지고 가정이 비효율적 인 패턴은 a.bbbs.map { |x| x.cccs }입니까?

답변

2

RoR 3.1부터는 has_many :through 연관을 중첩 할 수 있습니다. 3.1 release notes에서

: A를

협회 : 옵션을 선택하고 has_and_belongs_to_many 협회를 통해 지금을 통해 또는 이있는 다른 단체를 포함한 소스 협회, 같은 연결을 사용할 수있는 옵션을 통해. 당신의 예에서

는 :

class AAA < ActiveRecord::Base 
    has_many :bbbs, through: :some_other_model 
    has_many :cccs, through: :bbbs 
end 

AAA.first.cccs # => [ccc1, ccc2, ...] 
+0

이미이 시도하고 workk을 일부러. 어쩌면 그것은 단지 바보 같은 문법 오류였습니다. 아프 다시 시도하십시오. – Jeff

+0

이번에는 다른 점이 무엇인지 잘 모르겠지만 지금은 정상적으로 작동하고있는 것 같습니다. 감사! – Jeff