2011-03-29 2 views
0

게시물을 만든 사용자와 게시물을 연결할 수 있기를 원합니다."Post" "User"Association에 의해 게시 됨

지금까지 내가 가진 :

belongs_to :user in my post.rb 

has_many :post in my user.rb 

내가 내 게시물 컨트롤러에 무언가를 추가 할 필요가 알고 있지만 내가 무엇을 잘 모릅니다. 각 게시물에 "게시자 : (여기에 사용자 정보)"를 입력하고 싶습니다. ...

도움이 필요하십니까? 미리 감사드립니다.

+0

답은 게시물 컨트롤러에 대한 질문을 참조하지 않았습니다. 그러나 모델에서 만든 연관을 통해 연결된 사용자를 제외하고 게시물 컨트롤러에서 수행해야 할 특별한 작업은 없습니다. 유효한'Post' 객체를 가지고있는 한, 당신의 연관은 당신이 원하는대로'User'를 끌어 올 쿼리를 트리거 할 것입니다. – rynmrtn

+0

나는이 오류가 "nil : NilClass"에 대해 정의되지 않은 메서드'username '을 계속 왜 쓰는지 이해할 수 없다. 나는 belongs_to : 내 "게시물"모델의 사용자와 has_many : 내 "사용자"모델의 게시물을 가지고 있습니다 ... – ChrisBedoya

답변

2

당신은 수행하여 사용자가 액세스 할 수 있습니다

@post.user 

그래서 당신이있을 수 있습니다 :

@post
Posted By: <%= @post.user.username %> 

는 게시물이 존재하는 변수입니다.

당신은 당신의 질문에 대답하기 위해 귀하의 경우 here

에서 더 구체적으로 레일 here의 연관 데이터를 읽어, 수, 아니 당신이 작동하려면이 기능에 대한 귀하의 컨트롤러 작업을 수행 할 필요가 없습니다.

+0

안녕하세요. 코드를 추가 할 때 Im이 정의되지 않은 메소드'username '을 얻습니다. 포스트 컨트롤러에 뭔가를 추가해야 포스트를 생성 한 사용자에게 자동으로 포스트를 연결해야합니까? – ChrisBedoya

+0

사용자 이름은 사용자의 샘플 속성에 불과합니다. 나는 당신의 User 모델이 어떻게 생겼는지 모르겠습니다. 해당 사용자를 식별하는 속성을 사용하십시오 (이름, 이름 등). –

+0

이것은 내 User.rb 클래스입니다. User ChrisBedoya

0

당신은 belongs_to 의해 Post 개체 정의 user 방법을 사용하여이 연관을 참조 할 수는

<%= post.user.name %> 

당신은 associations guide 더 읽을 수있다.

+0

nil에 대해이 오류가 정의되지 않은 메서드 'username'을 유지합니다. NilClass – ChrisBedoya

+0

@ChrisBedoya : 액세스중인 게시물에 연결된 User 개체가 없음을 의미합니다. 해당 게시물 개체에 'user_id' 필드를 설정하여 게시물을 사용자에게 연결해야합니다. –

+0

답변을 주셔서 감사합니다.하지만 메신저가 방금 레일을 배웠기 때문에 정확히 어디에 추가 할 것인지 잘 모릅니다. 오류가 계속 post_controller.rb를 가리키고 있습니다.이 @ post.user_id = current_user.username을 추가하려고 시도했습니다. 오류가 표시되고있는 부분부터 "표시"부분에 이 있지만 동일한 사용자 이름 오류가 발생합니다. – ChrisBedoya

관련 문제