0

私は2つのテーブルを持っています

ACCRELATIONS
"ID"
"ACCDETAILS"
"ACCRELATIONSBIKEID"
"ACCRELATIONSCARID"
"ACCRELATIONSPERSONID"

ACCPEOPLE
"ID"
"FIRSTNAME"
"LASTNAME"
"ACCRELATIONSID"

関係は次のようになります

class ACCPEOPLE < ActiveRecord::Base
has_many :ACCRELATIONS, :foreign_key => 'ACCRELATIONSBIKEID'
has_many :ACCRELATIONS, :foreign_key => 'ACCRELATIONSCARID'
has_many :ACCRELATIONS, :foreign_key => 'ACCRELATIONSPERSONID'

このレールロジックは機能しますか? したがって、基本的に「ACCPEOPLE」レコードは、3 つのリレーションのいずれにも結合できます。

編集====

ありがとうございました!私はあなたの答えのロジックを使用して、関係が逆になっているのを修正しました。3 つの関係を別のテーブルに属している_として追加することによって行われます。

4

1 に答える 1

1

関連付け名は一意である必要があります。同じ名前を付けた場合、これらの関連付けにどのようにアクセスできますか?

class AccPeople < ActiveRecord::Base
has_many :bike_accelerations, :foreign_key => 'ACCRELATIONSBIKEID', :class_name => "<your_classname>"
has_many :car_accelerations, :foreign_key => 'ACCRELATIONSCARID', :class_name => "<your_classname>"
has_many :person_accelerations, :foreign_key => 'ACCRELATIONSPERSONID', :class_name => "<your_classname>"

関連付けの名前を上記に変更します。

Railsの命名規則に従ってください

于 2013-08-28T13:31:21.943 に答える