Rails:指定外键时ActiveRecord关联不起作用

时间:2013-06-08 03:47:09

标签: ruby-on-rails foreign-keys associations rails-activerecord

我正在尝试设置ActiveRecord关联。下面是我的两个类,我在这里指定了我读过的foreign_key选项:api.rubyonrails.foreignkey

学校

class School < ActiveRecord::Base
     has_many :students, :foreign_key => :institutionid
     attr_accessible :name, :city, :state, :zipcode, :institutionid
end

学生

class Student < ActiveRecord::Base
     belongs_to :school, :foreign_key => :institutionid
     attr_accessible :firstname, :lastname, :institutionid
end

数据库架构

dbo.school {id:int, institutionid:int, name:nvarchar(255), city:nvarchar(255), state:nvarchar(2), zipcode:nvarchar(25),}

dbo.student {id:int, institutionid:int, firstname:nvarchar(255), lastname:nvarchar(255)}

尝试使用<% debug @school.students %>访问上述内容时,我在页面--- []上获得以下输出

任何人都可以帮我找出我做错了什么吗?或者提供一些其他方法来解决问题?谢谢!

1 个答案:

答案 0 :(得分:1)

我认为你要求的所有学生都有433的制度。但是,制度不是学校的主要关键(我想知道为什么不这样做?)。因此,当你说school.students时,查询将使用'id'中的值而不是'institutionid'。我会尝试将学生协会更改为:

belongs_to :school, :foreign_key => :institutionid, :primary_key => :institutionid

并将学校更改为:

has_many :students, :foreign_key => :institutionid, :primary_key => :institutionid