2012-09-27 3 views
0

3 가지 모델 : 사용자, 기사 및 댓글이 있습니다.관련 모델의 ID 목록

  • Articel에는 많은 의견이 있습니다.
  • 댓글은 기사에 속합니다.
  • 사용자는 많은 의견을 가지고 있습니다.

교과서의 경우 : I는 사용자가 댓글을 만들었습니다 제 ID 목록을하고 싶습니다

. 어떻게해야합니까?

콘솔에서 User.find (1) .comments.articles_ids의 변형을 시도했지만 정의되지 않은 메서드 오류가 발생합니다.

나는 간단 확실 해요,하지만 난 :)

감사를 알아낼 cant't!

답변

1

현재 설치와 함께 작동 그 일을하는 한 가지 방법 :

또는
user.comments.collect(&:article_id).uniq 

같아요 추가 할 수있는 has_many :throughUser에 : 다음

class User < ActiveRecord::Base 
    has_many :articles, :through => :comments 
end 

당신은 user.articles.collect(&:id)를 통해 ID를 얻을 수 있습니다 (아마도 user.article_ids이지만 그 점은 확실하지 않습니다.)

+0

See .. 나는 그것이 단순하다는 것을 알고 있었다. 나는 has_many : solution을 통해 갔다. 그리고 그것은 user.artcles_ids와 함께 매력처럼 작동했다. – Twiddr

+0

잘 .. 그것은 afterall .. 작동하지 않았다 사용자가 많은 기사를 가지고 있기 때문에 그것은 나에게 몇 가지 문제를 줄거야 ..하지만 그때 나는 옵션을 통해 많은 것을 제거하고 user.comments.collect (& : article_id) .uniq를 시도 그게 더 잘 작동하는 것 같아요 그리고 나에게 아무런 문제가 .. 여러 옵션을 선택할 수있는 답변과 함께 좋은 :) – Twiddr

관련 문제