2013-04-29 81 views
0

我試圖在軌道中的相同類中創建兩個一對一的關係。將兩個對象鏈接到軌道活動記錄中的單個記錄

我加了兩列到我的類名爲鏈接

post_id1 post_id2

所以現在我希望能夠得到一個鏈接對象,並做

link.post1 

link.post2 

但我越來越困惑如何指定此

我認爲這是與

has_one :Post, => specify name so the references don't clash 

我認爲這很容易,我只是新的鐵路。

回答

0

Link類:

belongs_to :post_1, :class => "Post" 
belongs_to :post_2, :class => "Post" 

編輯:[改正belongs_to]

+0

其他幾點讓我朝着正確的方向移動,但我也需要指定保存鍵的列 – 2013-04-30 00:09:29

1

您需要在鏈接表post1_id和post2_id和:

belongs_to :post1, class_name: "Post" 
belongs_to :post2, class_name: "Post" 

在Post模型,你可以使用has_one或has_many作爲反向引用。

UPDATE: 以下是此參考:choosing between belongs_to and has_one

1

其他回答幫我,但它也是這個,我專門找

:foreign_key => "post_id1" 

所以最後一行是

belongs_to :post_1, :class => "Post", :foreign_key => "post_id1" 

感謝您的幫助!