0

class1 と student という名前の 2 つのモデルがあり、それらを作成した後、関連付けを追加しました。次に、私のモデルは次のとおりです。

class Student < ActiveRecord::Base
  attr_accessible :address, :birthdate, :name
  belongs_to :class1
end

class Class1 < ActiveRecord::Base
  attr_accessible :name
  has_many :students
end

Railsコンソールでモデルのインスタンスを作成しようとしました:

2.0.0-p0 :001 > c=Class1.new(:name=>"A")
 => #<Class1 id: nil, name: "A", created_at: nil, updated_at: nil> 
2.0.0-p0 :002 > c.save
   (0.1ms)  BEGIN
  SQL (0.2ms)  INSERT INTO `class1s` (`created_at`, `name`, `updated_at`) VALUES ('2013-03-12 08:40:03', 'A', '2013-03-12 08:40:03')
   (40.7ms)  COMMIT
 => true 

しかし、クラスに学生を追加しようとすると、エラーが発生しました:

2.0.0-p0 :003 > s=c.students.build:name=>"Moshe"
ActiveRecord::UnknownAttributeError: unknown attribute: class1_id

列 class_id は実際にはデータベースに存在しません - なぜですか? ありがとう!

4

1 に答える 1