2017-11-13 16 views
1

has_oneアソシエーションからいくつかの情報を取得しようとしていますが、正しい方法で呼び出すことができません。私はhas_one emergency_contactの2つのテーブルにstudentsテーブルを持っています。 emergency_contactテーブルには、外部キー値student_idがあります。私は、外部キーがemergency_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

。ご助力ありがとうございます! –

関連する問題