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 は実際にはデータベースに存在しません - なぜですか? ありがとう!