2014-09-01 61 views
1

我發現很多關於ActiveRecordhas_many關係的主題,但是我還沒有找到我正在尋找的東西。基於普通領域的導軌關係

我有兩個表,每個表都有列xyz_id。此ID是我訂閱的API服務中的對應ID。

我想通過這些相應的ID在每個表上的相應列有has_many關係。這樣,如果table_1中的項目的xyz_id是「abcdefg」,我可以執行類似table_1.relation的操作,它將返回table_2中的所有元素並使用匹配的xyz_id。我可以在整個代碼中利用ActiveRecord並利用查詢,但我認爲必須有更好的方法。有什麼想法嗎?

編輯:我一個字。

+0

我也意識到,我可以在模型上添加一個方法來允許這一點,但理想情況下,我希望能夠與所有與標準材料相關的鐵軌關係魔術一起出現。 – Borromakot 2014-09-01 07:43:41

回答

1

的ActiveRecord,您可以指定任意fkeys當你定義的關係,就像這樣:

class Assembly < ActiveRecord::Base 
    has_and_belongs_to_many :parts, 
          foreign_key: :xyz_id 
end 

class Part < ActiveRecord::Base 
    has_and_belongs_to_many :assemblies, 
          foreign_key: :xyz_id 
end 

來源:http://guides.rubyonrails.org/association_basics.html