2012-08-04 2 views
3

검색어가 조금 복잡해졌습니다. 세 가지 관련 테이블 : 사용자, 게시물 및 설명 사용자는 has_many 개의 게시물과 주석을 가지고 있으며, posts는 사용자의 소유이고 has_many 개의 주석을 가지고 있으며, 주석은 사용자와 게시물에 속합니다. 즉, 내 컨트롤러에서 사용자가 모든 게시물에서받은 모든 설명을 찾으려고 레일스에 노력하고 있습니다. 나는 이것을 시도했다 :레일스는 게시물의 user_id = user가있는 모든 의견을 찾습니다.

@comments = Comment.where(:post_id.user => @user.id) 

그러나 그것은 실제로 잘되지 않았다. 이것은 아마도 간단한 해결책일까요? 또한 같은 것을 할 수

@comments = Comment.joins(:post).where(:posts => { :user_id => @user.id }) 
+0

를 : HTTP : //guides.rubyonrails.org/active_record_querying.html –

답변

6

당신은 join 해당의 게시물 테이블이 이것은 당신이 당신이 할 수있는 알고 도움이 될 수와 할 수없는

@user = User.find(@user.id, :include => :comments) 

<% @user.comments.each do |comment| %> 
    <%= comment.id %> <br/> 
    <%= comment.text %> 
<% end %> 
+0

끝내 주셔서 감사합니다. – user1152706

1

:

+0

이것은 훨씬 쉬워 보입니다. –

+0

@scottastic, 그것은 질문에서 요구되는 것을하지 않습니다. – Mischa

+0

이것은 사용자가 작성한 주석을 가져오고, 사용자가받은 게시물의 모든 주석은 가져 오지 않습니다. – Mischa

관련 문제