我有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”记录。
EDIT ====
谢谢!我用你的答案中的逻辑来解决现在的另一种关系。通过在另一个表中添加3个关系作为belongs_to来完成。
答案 0 :(得分: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>"
将您的关联重命名为上面。