2013-03-06 2 views
1

예를 들어, Book 개체에는 여러 개의 Tags이 연결되어 있습니다. 책의 모든 태그를 쉽게 검색 할 수 있다는 것을 알고 있지만 책 모음에 대한 모든 태그를 검색하는 방법은 무엇입니까? 태그 클라우드처럼 컬렉션의 책에있는 태그 만, 전부는 아닙니다.레일은 컬렉션을 통해 관련 데이터를 검색합니다.

답변

2

도서 모음에있는 ID와 일치하는 book_id에 의해 태그를 가져옵니다.

Tag.where(:book_id => book_collection.map(&:id)) 
+0

멋진 데이터이지만이 데이터를 검색하기에 가장 적합한 아키텍처의 관점에서 볼 때? 색인에서 책을 검색 중이라고 가정하면 이미 태그가있는 새 인스턴스 변수를 더 잘 작성하십시오. –

+0

@CarlosPereira : 귀하가 무엇을 요구하고 있는지 잘 모르겠습니다. 귀하가하려는 일을 명확하게하기 위해 질문에 코드를 게시 할 수 있습니까? – PinnyM

+0

내가 좋아, 단순히 책을 나열하는 것이 책의 인덱스 뷰를 가지고 :

    <% = 책 % @ 렌더링> 내가 원하는 같은 관점에서
책의 컨트롤러/모델에서 복구 된 이러한 책의 태그 클라우드를 표시합니다. 내 질문에 당신이 제안한 루틴을 구현하는 가장 좋은 장소는 컨트롤러의 인덱스 메서드, 새로운 변수 @ 태그를 생성하고 그것을보기에서 사용하거나, 예를 들어 태그 모델에서 특정 메소드를 생성해야한다. 매개 변수로받은 일련의 도서. –

관련 문제