繁体   English   中英

如何在Rails中指定带有2个外键的表?

[英]How do I specify a table with 2 foreign keys in rails?

如果我有一个旧数据库,则在另一个表中定义了两个实体之间的关系。 如何在Rails中建立这种关系?

我要介绍的基本关系是:

---管理员:

First_name
Last_name
id

---网站:

id
subject

--- Admin_Sites

 id
 teacher_id
 class_id

我知道在Rails中我只会使用belongs_to:和has_many:但是,如果我有一个(不断更新的)teacher_class表,我需要以某种方式指定那是Rails需要查找谁与哪个类相关的关系的地方。 我不知该如何指定。 是否可以在类模型中以某种方式将:foreign_key指定为“ teach_class.teacher_id”?

在教师模型中,您将拥有

has_many :teach_classes
has_many :classes, :through => :teach_classes

看到这个博客的has_many:通过关系- http://ruby-on-rails-dipak-panchal.blogspot.in/2012/10/has-many-through-relationship.html

class Admin < ActiveRecord::Base
  has_many :admin_sites
  has_many :sites, :through => :admin_sites
end

class Site < ActiveRecord::Base
  has_many :admin_sites
  has_many :admins, :through => :admin_sites
end

class AdminSites < ActiveRecord::Base
  belongs_to :admin
  belongs_to :site
end

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM