0

2 つのエンティティ間の関係が別のテーブルで定義されている従来のデータベースがある場合。レールでその関係を作成するにはどうすればよいですか?

私が提示したい基本的な関係は次のとおりです。

---管理者:

First_name
Last_name
id

---サイト:

id
subject

---Admin_Sites

 id
 teacher_id
 class_id

Railsではbelongs_to:とhas_many:だけを使用することを知っていますが、(常に更新される)teach_classテーブルがある場合、レールが誰がどのクラスに関連しているかの関係を探す必要がある場所であることをどうにかして指定する必要があります。これをどのように指定すればよいか途方に暮れています。クラスモデルで :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 :through 関係については、このブログを参照してください - 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 に答える