我正在尝试在Rails上使用外键实现has_many和belongs_to关系,但我在正确实现它时遇到了麻烦,请帮忙。我也参考了这个指南:http://guides.rubyonrails.org/association_basics.html
这两个模型是subject和lessons。一个subject有很多lessons,而一个lesson属于一个subject。外键是subject_code。
以下是相关代码。
Subject模型:
课程模型。
我不确定我的这个实现哪里错了,因为我无法从一个学科中检索到课程。我的数据库表已经有了一个名为subject_code的列。
在瞎搞的时候,我发现如果对我的subject模型进行以下更改:
我能够检索到与课程有关的信息,但是在将外键更改为科目代码后,无法工作,我对此感到困惑。 如有帮助,将不胜感激。
以下是相关代码。
Subject模型:
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的列。
在瞎搞的时候,我发现如果对我的subject模型进行以下更改:
has_many :lessons,
:foreign_key => "lesson_id"
我能够检索到与课程有关的信息,但是在将外键更改为科目代码后,无法工作,我对此感到困惑。 如有帮助,将不胜感激。
Subject
模型中移除:foreign_key => "subject_code"
。 - VenkatK