/ / Wie kann ich eine Tabelle mit 2 Fremdschlüsseln in Schienen angeben? - Rubin auf Schienen, Rubin auf Schienen-3.1

Wie lege ich eine Tabelle mit 2 Fremdschlüsseln in Schienen fest? - Ruby-on-Rails, Ruby-on-Rails-3.1

Wenn ich eine ältere Datenbank habe, in der die Beziehungen zwischen zwei Entitäten in einer anderen Tabelle definiert sind. Wie erstelle ich diese Beziehung in Schienen?

Die grundlegende Beziehung, die ich vorstellen möchte, ist:

---Admins:

First_name
Last_name
id

--- Sites:

id
subject

--- Admin_Sites

 id
teacher_id
class_id

Ich weiß in Rails, dass ich nurhing_to verwenden würde: und has_many: aber wenn ich eine (ständig aktualisierte) teach_class-Tabelle habe, muss ich irgendwie angeben, dass dies dort ist, wo die Schienen nach der Beziehung suchen müssen, wer mit welcher Klasse verwandt ist Kann man irgendwie: foreign_key als "teach_class.teacher_id" im Klassenmodell angeben?

Antworten:

0 für die Antwort № 1

Sehen Sie dieses Blog für has_many: durch Beziehung - 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 für die Antwort № 2

Im Teacher Model hättest du

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