게시물이 belongs_to 사용자이고, 사용자 has_many 게시물이 있습니다.
게시물도 belongs_to Topic이고, 주제는 has_many Posts입니다.has_many : through association일까요?
class User < ActiveRecord::Base
has_many :posts
end
class Topic < ActiveRecord::Base
has_many :posts
end
class Post < ActiveRecord::Base
belongs_to :user
belongs_to :topic
end
글쎄, 그건 설정하는 매우 간단하고 아주 쉽게,하지만이 주제를 표시 할 때, 나는 단지 그 주제에 대한 게시물을 모두 할뿐만 아니라하지 _ 이름과 만든 사용자의 user_photo 그 포스트. 그러나 이러한 특성은 사용자 모델에 저장되며 항목에 연결되지 않습니다. 그럼 내가 어떻게 세팅 할까?
Post 모델에 User와 Topic의 두 외래 키가 있기 때문에 이미 호출 할 수 있습니까?
또는 어쩌면 이것은 일종의 "편도"has_many assiociation입니다. 포스트처럼 조인 모델이 될 것이고 토픽은 has_many : users, : through => : posts가 될 것이다. 그러나 이것의 반대는 사실이 아닙니다. 사용자가 has_many : topics와 같은 것은 아닙니다.
그렇다면 has_many 일 필요가 있습니다. 나는 컨트롤러가 포스트의 포스팅과 사용자 모두에게 전화를해서 포기할 주제에 대해 어떻게 보이는지 조금 혼란스러워합니다.
편집 : 진심으로 감사합니다. 나는 컨트롤러에 코드를 사용했기 때문에 탈의 답변을 선택했습니다. 그러나 나는 j. 또는 tim을 대신 쉽게 선택할 수 있습니다. 감사합니다. 이것은 구현하기 매우 간단했습니다. 나는 오늘 내가 레일과 나의 연애 사건의 시작을 알릴 수 있다고 생각한다.
@topic.posts.each do |post|
user_name = post.user.name
user_photo = post.user.photo
end
은 간단합니다
안녕하세요, Tim, 당신은 그것에 대해 자세히 설명해 주시겠습니까? 당신 has_many : through 협회는 필요하지 않지만 나중에 도움이 될 것이라고했습니다. 그러나 나는 당신이 그것이 실제 Post.message가 정확하기를 원하지 않는다는 것을 의미한다고 믿습니다. 이렇게 게시 된 컨트롤러 코드를 사용하면 가장 빠른/가장 빠른 쿼리가 수행됩니다. – GoodGets