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'

这个rails逻辑有效吗?因此,基本上可以在三个关系中的任何一个上加入“ACCPEOPLE”记录。

编辑====

谢谢!我现在也使用您的答案中的逻辑来修复这种关系。通过将 3 个关系添加为另一个表中的 belongs_to 来完成。

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 回答