ここに私のDBスキーマがあります。 NOTE 'studentid' と 'student_studentid'Railsでカスタムテーブルの関連付けを設定する方法
create_table "students", force: true do |t|
t.string "fname", limit: 45
t.string "lname", limit: 45
t.string "guardian", limit: 45
t.string "phone", limit: 45
t.string "email", limit: 45
t.integer "user_id"
t.date "createdate"
t.string "studentid", limit: 45
end
create_table "term_reports", force: true do |t|
t.string "student_studentid", limit: 10
t.integer "subject_id"
t.integer "score"
t.integer "position"
t.integer "term"
t.integer "year"
t.integer "user_id"
t.date "ceatedate"
end
私は学生にカスタムidを割り当てています。どのようにしてこれらの列をテーブルの関連付けに使用できますか? TermReport.find( 'my-id-10')。studentと言うことができます。
私が試したことはありますが、うまくいきません。
class TermReport < ActiveRecord::Base
belongs_to :student, :primary_key => :studentid
end
class Student < ActiveRecord::Base
has_many :term_reports, primary_key: :stuent_studentid
end
TermReport.find( 'jm-90')。学生はまだ動作しません。私の答えの出力を参照してください。 –
学生用のカスタムプライマリキーを設定する方法については、https://stackoverflow.com/questions/32579245/creating-custom-primary-keys-in-rails-applicationを参照してください。 – Maru