2011-04-10 6 views
0

이력서와 지방이라는 두 모델 간의 모델 연결을 수행하고 있습니다.연결을 올바르게 사용하는 방법

경우 :이 시점에서

class Resume < ActiveRecord::Base 
has_one :province 
end 

class Province < ActiveRecord::Base 
belongs_to :resume 
end 

, 모든 것이 괜찮지 만, 나는 모든 이력서를 나열있을 때, 내가 대신 province_id을 지방의 이름을 표시합니다.

그래서, 모든 레코드에 대해 선택을 수행하지 않고도 이러한 작업을 수행하는 더 좋은 방법은 무엇일까요?

아마도이 연결이 잘못되었을 수 있습니다.

Province 테이블에는 이름과 ID 필드 만 있습니다.

지방 - ID 은 -

이력서 이름 - LASTNAME - - ... - 당신이 세부 사항을 더 필요로하는 경우 province_id

말해 이 이름을 지정합니다. 보기에

controller.rb

@resumes = Resume.all 

:

답변

2

이런 식으로 뭔가를 시도

<% @resumes.each do |resume| %> 
    <%= resume.province.name %> 
<% end %> 
+0

의 반환 : Mysql2 :: 오류 : 알 수없는 열에서 'provinces.resume_id' 'where 절': SELECT'provinces'. * FROM'provinces' WHERE ('provinces'.resume_id = 483) LIMIT 1 지방 탭에서 resume_id를 찾습니다. 르 그 존재하지 않습니다. –

+0

글쎄,이 줄을 따라, 나는 모델의 연관을 거꾸로 돌렸다. 따라서, belongs_to province 및 Province has_one 이력서를 다시 시작하십시오. 감사합니다. 나는 당신의 답을 옳다고 생각할 것입니다. –

+0

아, 죄송합니다. 외래 키는 belongs_to가있는 관계로 이동합니다. 여기를 참고하십시오 : http://guides.rubyonrails.org/association_basics.html#the-has_one-association (나는 당신이 방금 알아 낸 것을 볼 수 있습니다 :)) –

관련 문제