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 № 1Sehen 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