2017-11-13 14 views
1

has_one 연관에서 일부 정보를 얻으려고하는데 올바른 방법으로 호출 할 수 없습니다. 나는 2 개의 테이블 has_one emergency_contact가있는 students 테이블을 가지고있다. emergency_contact 테이블에는 외래 키 값 student_id가 있습니다. 나는 foreign_contact 테이블에 외래 키가 첨부되어있는 레코드에 link_to하려고하는데, 그걸 올바르게 가져올 수없는 것 같습니다.has_one 연관에서 값 호출하기

student.rb

class Student < ApplicationRecord 
self.primary_key = :student_id 
has_one :emergency_contact 

emergency_contact.rb

class EmergencyContact < ApplicationRecord 
self.primary_key = :contact_id 
belongs_to :student, optional: true 

학생/show.html.erb

<%= emergency_contact_path(@student.student_id) %> 

가 지금 난 그냥 student_id의 가치로 보내지고 있어요 , 예를 들어 student_id = 5입니다. 실제로 emergency_contact.contact_id의 contact_id = 1 일 때 어떻게 할 수 있습니까? 나는 1을 얻는다? has_one에 대한

답변

1

설정 foreign_key :

has_one :emergency_contact, foreign_key: 'contact_id' 

링크는 다음과 같습니다 그것을했다

<%= emergency_contact_path(@student.emergency_contact.contact_id) %> 
+0

. 당신의 도움을 주셔서 대단히 감사합니다! –