Rails的has_many和belongs_to关系与外键错误



我正试图实现一个has_many和belongs_to关系与外键,但我面临的麻烦,试图正确实现它,任何帮助将不胜感激。我也使用这个作为指南:http://guides.rubyonrails.org/association_basics.html

这两个模型是主题和课程。一门学科有很多课,一节课属于一门学科。外键为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,它不起作用,我只是对为什么感到困惑。

in Subject Model

has_many :lessons, :primary_key => "subject_code"

相关内容

  • 没有找到相关文章

最新更新