/ / ¿Cómo se especifica una tabla con 2 claves externas en los rieles? - Ruby-on-Rails, Ruby-on-Rails-3.1

¿Cómo puedo especificar una tabla con 2 claves externas en los rieles? - Ruby-on-Rails, Ruby-on-Rails-3.1

Si tengo una base de datos heredada en la que las relaciones entre 2 entidades se definen en una tabla diferente. ¿Cómo creo esa relación en los carriles?

La relación básica que quiero presentar es:

--- Administradores:

First_name
Last_name
id

--- Sitios:

id
subject

--- Admin_Sites

 id
teacher_id
class_id

Sé que en los rieles solo usaría corresponde a: y has_many: pero si tengo una tabla teach_class (actualizada constantemente), necesito especificar de alguna manera que ES "es donde los rieles deben buscar la relación de quién está relacionado con qué clase. No sé cómo puedo especificar esto ¿Es posible de alguna manera especificar: foreign_key como "teach_class.teacher_id" en el modelo de clases?

Respuestas

0 para la respuesta № 1

ver este blog para has_many: a través de la relación - 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

1 para la respuesta № 2

En Modelo de Maestro tendrías

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