0

我正在尝试建立一个 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学校{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 %>我在页面上得到以下输出--- []

谁能帮我找出我做错了什么?或者提供其他一些解决问题的方法?谢谢!

4

1 回答 1

1

我想您是在询问所有机构 ID 为 433 的学生。但是机构 ID 不是 School 的主键(我想知道为什么不呢?)。因此,当您说 school.students 时,查询将使用“id”中的值而不是“institutionid”中的值。我会尝试将学生协会更改为:

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

并将学校更改为:

has_many :students, :foreign_key => :institutionid, :primary_key => :institutionid
于 2013-06-08T04:25:47.443 回答