簡體   English   中英

Rails has_many到同一張表

[英]Rails has_many to same table

我有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個關系作為belongs_to完成。

您的關聯名稱應該是唯一的。 如果給它們提供相同的名稱,如何訪問它們?

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命名約定

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM