【发布时间】:2014-07-08 17:51:34
【问题描述】:
我有两个班级学生和监护人。第三个类 Stud_guard 管理 Student 和 Guardian 类之间的关系。下面给出了这些类的快照:
class Student < ActiveRecord::Base
has_one :stud_guards, :foreign_key => 'student_id', :dependent=>:destroy
end
class Guardian < ActiveRecord::Base
has_many :stud_guards, :dependent=>:destroy
end
class StudGuard < ActiveRecord::Base
belongs_to :student_id, :class_name => 'Student'
belongs_to :guardian_id, :class_name => 'Guardian'
end
在代码中,如果我执行@guardian.stud_guards(其中@guardian 包含一个有效的监护人项目),我可以获得一个 stud_guard 条目数组。但是,如果我执行 @student.stud_guards(其中 @student 有一个有效的学生项目),我会收到 "uninitialized constant Student::StudGuards" 错误。我似乎无法理解我在这里缺少什么。
【问题讨论】:
-
你试过删除
foreign_key吗? -
好的。当你有
has_one关系时,你正在做@student.stud_guards。所以试试@student.stud_guard
标签: ruby-on-rails ruby ruby-on-rails-2