我想用外鍵實現has_many和belongs_to關係,但我遇到了麻煩,試圖正確實現它,任何幫助將不勝感激。我也將此作爲指導:http://guides.rubyonrails.org/association_basics.htmlRails has_many和belongs_to與外鍵錯誤的關係
這兩個模型是主題和課程。一門課程有很多課程,一門課程屬於一門課程。外鍵是subject_code。
以下是相關代碼。
物體模型
class Subject < ActiveRecord::Base
:subject_code,
:subject_name
:lessons_attributes
has_many :lessons,
:foreign_key => "subject_code"
accepts_nested_attributes_for :lessons,
:allow_destroy => true
end
的教訓模型。
class Lesson < ActiveRecord::Base
attr_accessible :lesson_id,
:lesson_type,
:subject_code
belongs_to :subject,
:class_name=>"Subject",
:foreign_key=>"subject_code"
end
我不確定我在哪裏出錯了,因爲我無法從主題中檢索課程。我的課程數據庫表中也有一個subject_code列。
在瞎搞,我發現,如果我的主題模式,我做以下修改
has_many :lessons,
:foreign_key => "lesson_id"
我能夠檢索有關的教訓,但與lesson_id綁subject_id的信息。但是,將外鍵更改爲subject_code,它不起作用,我只是爲什麼而困惑。
任何幫助,將不勝感激。
刪除':foreign_key => 「subject_code」''中模型Subject'。 – VenkatK
我得到這個錯誤,當我這樣做。SQLite3 :: SQLException:沒有這樣的列:lessons.subject_id:SELECT「lessons」。* FROM「lessons」WHERE「lessons」。「subject_id」= 8 –