2013-12-16 5 views
3

내 응용 프로그램에서 질의를 위해 elasticsearch를 사용하고 있습니다. I 발생할 곳입니다Tire : 여러 모델의 Eager loading associations

Tire.search [Article, Topic], {:load => {:include => [:posts, :comments]}} do |search| 
... 
end 

: 같은 2 개 모델

Class Topic 
    has_many :posts 

Class Article 
    has_many :comments 

나는 이러한 모델 모두 결합 된 검색을 수행 할 내 쿼리가 보이는가 말할 수 문제. 나는

Association named comments not found 

오류가 발생합니다. 토픽 모델에는 제휴 코멘트가 없기 때문에 Article 모델의 게시물에 대해서도 마찬가지라고 생각합니다.

어쨌든이 문제를 해결할 수 있습니까? 나는 어쩌면 뭔가를 생각하고 있었다.

:include => ['topic.posts', 'article.comments'] 

도와주세요.

답변

1

난 그냥 this post에서 찾은 몇 가지 지침에 따라 유사한 문제를 해결했습니다. 그 대답이 시도 말한다 : 내 경우

Tire.search [Article, Topic], {:load => { Article =>{ :include => :comments}, 
              Topic => { :include => :posts } 
             } } do |search| 

가, 내가 내가 내가 부하를 열망하는 타이어를 원 두 깊은 계층 구조를 가지고 중첩 된 협회를로드 할 필요가 있었다. 그래서 저는 그 해결책을 제 경우에 적용 시켰습니다 :

Tire.search 'articles', {:load => { :include => [:contributors, 
               :books => [:authors]] } } do 

희망이 있습니다.

+1

동일한 내용을 사용했습니다. 대답을 게시하지 않아서 죄송합니다. 그리고 참고로, 이것은 제가 언급 한 것입니다 : https://github.com/karmi/retire/issues/762 –

관련 문제