0

如果我有一个旧数据库,其中两个实体之间的关系在不同的表中定义。如何在 Rails 中创建这种关系?

我要介绍的基本关系是:

---管理员:

First_name
Last_name
id

---网站:

id
subject

---Admin_Sites

 id
 teacher_id
 class_id

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

4

2 回答 2

1

在教师模型中,您将拥有

has_many :teach_classes
has_many :classes, :through => :teach_classes
于 2012-10-29T04:03:07.723 回答
0

看到这个博客 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
于 2012-10-29T05:24:14.940 回答