外部キーの関連付けを使用して、テーブル A を参照するテーブル B にデータを挿入しようとしています。
これが私のコードです。
models.rb
class StudentStatusReport < ActiveRecord::Base
attr_accessible :student_id, :mark
belongs_to :student_details, :class_name => "StudentDetails", :foreign_key => "student_id"
end
class StudentDetails < ActiveRecord::Base
attr_accessible :student_id, :name
has_many :student_status_reports
end
および Migrations.rb は次のとおりです。
class CreateStudentDetails < ActiveRecord::Migration
def change
create_table :student_details, {:id => false} do |t|
t.string :student_id
t.string :name
t.timestamps
end
execute "ALTER TABLE student_details ADD PRIMARY KEY (reg_no);"
end
end
class CreateStudentStatusReports < ActiveRecord::Migration
def change
create_table :student_status_reports do |t|
t.string :student_id
t.integer :mark
t.timestamps
end
end
end
現在、次のクエリを使用して、Rails コンソールの StudentStatusReport モデルにデータを挿入しています。
e = StudentDetails.find("UG10001")
f = e.student_status_reports.create!(:mark => 40)
しかし、コンソールに次のエラーが表示されます -
ActiveRecord::UnknownAttributeError: unknown attribute: student_details_id
これに関して可能な解決策は何ですか?
モデルとデータベースで外部キーと主キーを既に定義していますが、どこが間違っているのかわかりません。Tx..!