我正在尝试设置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 %>
访问上述内容时,我在页面--- []
上获得以下输出
任何人都可以帮我找出我做错了什么吗?或者提供一些其他方法来解决问题?谢谢!
答案 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