2012-05-03 3 views
0

응답 및 질문의 두 모델이 있습니다. 질문은 has_many 응답이므로 각 응답은 question_id와 연결됩니다. @responses 객체의 응답에 해당하는 질문을 쿼리하고 싶지만 구문이 확실하지 않습니다.레일스 ActiveRecord 쿼리 - 인스턴스 변수의 배열

@reponses = Response.find([1, 10]) 
@questions = Question.where(:id => [???]) 

내 초기 생각은 다음과 같이 이었지만,이 구문은 잘못된 것입니다 :

@reponses = Response.find([1, 10]) 
@questions = Question.where(:id => @responses.question_id) 

답변

3

당신이었다 매우 가까운 ...보십시오이

@questions = Question.where(:id => @responses.map(&:question_id)) 

하지만 난 당신이 사용한다고 생각합니다 응답 모델의 범위

+1

이 시도는 동일하지만 더 깨끗합니다. @questions = Question.where (: id => @ responses.pluck (: ques tion_id)) – Amar

+0

@ diasks2가 사용하는 레일 버전이 확실하지 않습니다 – Suborx

관련 문제