0
我有2個模型命名爲class1和學生,創建它們後,我添加了關聯。 然後我的車型有:我添加了我的模型關聯belongs_to,但沒有列添加到合適的表
class Student < ActiveRecord::Base
attr_accessible :address, :birthdate, :name
belongs_to :class1
end
class Class1 < ActiveRecord::Base
attr_accessible :name
has_many :students
end
我試圖通過導軌控制檯模型創建實例:
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確實不存在於數據庫中 - 爲什麼? 謝謝!
確保你不要忘了添加索引。 – jvnill 2013-03-12 09:02:25
使用'參考'時,遷移生成器始終添加標記。 – MikDiet 2013-03-12 09:06:23
我不確定在哪個rails版本'class1:references'出現..可能只有在4.beta。無論如何,您需要遷移才能爲此添加'class1_id'列和索引。 – MikDiet 2013-03-12 09:08:30