2014-11-14 3 views
0

특정 게시물에 답한 모든 사용자를 찾으려고합니다.모두 중첩 된 연결 조건 - 레일즈 4

사용자는 많은 메시지가 있습니다. 메시지에는 대화가 하나 있습니다. 난 오른쪽 테이블과 관련된 있는지 확인하기 위해 related_object_id라는 대화 테이블의 열을 사용하고 있습니다.

것은 나는이 같은 일을 시도했다 :

1. User.all.where(:messages.conversation(:related_object_id => post)) 

2. User.all.where(messages.select {|m| m.conversation.where(:related_object_id => post)}) 

아주 나쁜 시도 (내가 그런 where 통해 messages 협회에 액세스 할 수 없습니다 알고있다) 그러나 희망이 당신에게 난 어떤 아이디어를 제공합니다 하려고하는 것.

답변

1

시도 뭔가 같은 :

User.joins(messages: :conversation).where(conversations: { related_object_id: post }).uniq