2016-09-28 6 views
0

사용자 쇼 페이지에 사용자의 첫 번째 마이크로 포스트의 내용을 표시하고 싶습니다. 게시자와 사용자 ID를 수락하는 이름과 전자 메일 및 마이크로 포스트를 허용하는 사용자가 이미 있습니다. 내 추측으로는 사용자의 ID에 마이크로 포스트의 사용자를 연결해야하지만 나는 방법을 모르겠다.레일에 2 개의 모델을 연결하는 방법 5

+2

안녕하세요. StackOverflow를 환영합니다. Michael Hartl의 _Ruby on Rails Tutorial_을 따르고있는 것 같습니다. 가장 자세한 정보를 제공 할 수있는 기회를 얻으십시오. 그러면 질문을 쉽게 찾을 수 있고 다른 사용자에게 더 유용 할 것입니다. 예를 들어, 이미 가지고있는 코드, 예상 한 코드 및 그 대신 일어나는 코드를 추가하십시오. – tompave

+0

@ user.microposts를 반환하면 어떻게됩니까? 또는 원할 경우 콘솔에 User.first.microposts를 입력하면 어떻게됩니까? 모델에 연관을 설정해야하거나 설정하고 관련 객체에 액세스하는 방법을 모르는 것 같습니다. –

+0

@ user.micropost의 결과는 # 입니다. User.first.microposts는 내가 원하는 정보를 얻습니다. 나는 이미 has_many : 내 사용자의 microposts와 Micrposts의 belongs_to를 가지고있다. User.micropost.first를 얻으려면 코드를 어디에 두어야합니까? –

답변

0

간단한 모델 관계를 만드는 것입니다. 관련 모델 파일에서 관계를 정의하여이를 수행 할 수 있습니다.

게시물의 user_id 필드와 사용자의 id 필드를 연결하는 외래 키 관계에 따라 게시물을 사용자와 연결하려고한다고 가정 해 보겠습니다. posts 모델 파일에서 다음과 같이하십시오 :

belongs_to :user 

이렇게하면 루비가 모델간에 데이터를 결합 할 때 쿼리를 올바르게 구조화하는 방법을 알 수 있습니다.

0

문제의 설명에 따르면, 당신은해야

응용 프로그램/모델/user.rb

class User < ActiveRecord::Migration 
    has_many :microposts 
    # attributes :id, :name, :email 
end 

응용 프로그램/모델/micropost.rb

같은
class Micropost < ActiveRecord::Migration 
    belongs_to :user 
    # attributes :id, :user_id, :post 
end 
+0

나는 이미 이러한 코드를 가지고 있는데, User.first.microposts의 값을 얻고 html 파일에 표시하려면 어떻게해야합니까? –

관련 문제